2010年7月7日水曜日

Satisfy Any の設定で .htaccessファイルがブラウザーで表示されてしまう

テスト用のサイトなど公開したくないフォルダには、通常Basic認証などのアクセス制限をかける。しかし、制作者にとってはこの認証画面がわずらわしく作業効率が落ちるため、自社のIPからはBasic認証なしにアクセスが可能にしたい。
そのため、.htaccessに以下のような記述を行うとよい。
AuthUserFile /path記述/.htpasswd
AuthGroupFile /dev/null
AuthName "Enter ID and Password."
AuthType Basic
require valid-user

order deny,allow
allow from 自.社.IP.アドレス
deny from all
Satisfy any
しかし、ここで指定した"Satisfy any"が問題で、
このオプションを指定することで .htaccessや.htpasswdなどのファイルがブラウザーで表示されてしまうことがある。これを防ぐためには.htaccessに以下の記述を追加する。
<files ~ "^\.ht">
  Order allow,deny
  Deny from all
  Satisfy All
</files>
これで.htで始まるファイルのブラウザーからの閲覧が不可となる。

0 件のコメント:

コメントを投稿