「.htaccessで秘密の認証ページを作る」Tipsで紹介したように,.htaccessはWebスペースに置く必要があるものの,.htpasswdのパスワード情報などを含むファイルは極力httpでアクセスできる領域に置いてはならない。
しかし,どうしても置く必要がある場合にはどのようにすればよいのだろうか。対象となるディレクトリにはindex.htmlが置いてあるからファイル一覧が参照できないはずだ。そんな意見もあるだろうが,特定の規定名を持った設定ファイルなどであれば,決め打ちでアクセスされる可能性もある。
そこで,httpd.confのいずれかに次のような行を追加し,あらかじめApacheで特定のファイルを不可視状態にする設定をしておけばよい。ここでの例は,「.htaccess」「.htpasswd」「.htgroup」の各ファイルにアクセスできないようにする設定だ。応用すれば,どのようなファイルにも対応可能である。
<FilesMatch "^\.(htaccess|htpasswd|htgroup)$"> order allow,deny deny from all </FilesMatch> |
Copyright © ITmedia, Inc. All Rights Reserved.