Tag: Apache/アクセス制限

目次

関連ページ

参考情報

Apache 2.2のアクセス制限

deny,allowに関する解説

参考情報

こせきの技術日記の方が詳しいが、実用的な事だけ知りたい場合バシャログのほうが良いか。

特定のIPアドレスだけ許可する

  • Order Deny, Allowで指定。この場合Allowがデフォルトなので最初に全て禁止しておく。
    Order Deny,Allow
    Deny from All
    Allow from 172.16.0.100
  • Order Allow, Denyで指定。全てDenyがデフォルトなのでAllowだけで良い。
    Order Allow,Deny
    Allow from 172.16.0.100
  • アドレスによる制限とユーザー認証をOR条件で組み合わせる場合(Satisfy Any)
    AuthType Basic
    AuthName "Enter ID/PW"
    AuthUserFile "/var/www/example.com/.htpasswd"
    Require user "user1"
    Order Allow,Deny
    Allow from 172.16.0.54
    Satisfy Any
    
  • アドレスによる制限とユーザー認証をAnd条件で組み合わせる場合(Satisfy All)
    AuthType Basic
    AuthName "Enter ID/PW"
    AuthUserFile "/var/www/example.com/.htpasswd"
    Require user "user1"
    Order Allow,Deny
    Allow from 172.16.0.54
    Satisfy All
    

deny,allowでAND条件を指定する

参考情報

Apache 2.2でAND条件を使うための基本アイデア

解説

  • StEnvIFは変数が指定された正規表現にマッチしたとき最後の変数を設定するという指定。mod_setenvif - Apache HTTP サーバ バージョン 2.2。以下のように処理が進む。
    • 「SetEnvIF Request_URI "^/test.html" ok_path」で、 Request_URIがtest.htmlにマッチするときok_pathが1に設定される。
    • 「SetEnvIF Accept "text/html" ok」で、Acceptヘッダーが"text/html"にマッチするとき、okが1に設定される。
    • 「SetEnvIF ok_path "^$" !ok」で、ok_pathが空白の場合は("^$"にマッチする場合は)、okをクリアする。
  • 最終的に、okが設定されているのは2番目の条件で「Acceptが"text/html"にマッチした場合」かつ3番目でクリアされなかった場合=1番目で「Request_URI "^/test.html" がマッチした場合」となる。
  • よって「 Allow from env=ok」によって、アクセス許可のANDが達成されている。

Tips

iPhone/iPadだけを許可する


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-07-09 (木) 14:12:06