特定のディレクトリにパスワード認証を設定する(Basic 認証)方法についての忘備録。
パスワード認証を設定したディレクトリは、検索に引っかからなくなる。なお、お名前.com のサーバーではすることができるが、任意のディレクトリに対しては不可。。 ① 当該ディレクトリへのフルパスを確認する。 下記を適当な名前で保存し、当該ディレクトリにアップロードして開くと、ブラウザにフルパスが表示される。 <?php echo __FILE__; ?> ② .htaccess ファイルを作成し、改行コード LF・文字コード UTF-8(BOM 無し)で保存する。 3行目は、本来は設定領域の名称だが、認証ダイアログに表示する文字列(ブラウザによっては非対応)を指定する。 6~8行目は .htaccess ファイルと .htpasswd ファイルに第三者がアクセスできないようにするため。 AuthUserFile [当該ディレクトリへのフルパス]/.htpasswd AuthGroupFile /dev/null AuthName ""Enter the username and password."" AuthType Basic require valid-user <Files ~ "^\.(htaccess|htpasswd)$"> deny from all </Files> ③ .htpasswd ファイルを作成し、改行コード LF・文字コード UTF-8(BOM 無し)で保存する。 に表示される文字列をコピー&ペーストする。ID とは username のこと。があるので注意。 [ID]:[暗号化されたパスワード] ④ .htaccess ファイルと .htpasswd ファイルを で当該ディレクトリにアップロードする。 は、.htaccess ファイルを次のようにする。 AuthUserFile [当該ファイルがあるディレクトリへのフルパス]/.htpasswd AuthGroupFile /dev/null AuthName ""Enter the username and password."" AuthType Basic order deny,allow <Files [当該ファイル名].html> require valid-user </Files> <Files ~ "^\.(htaccess|htpasswd)$"> deny from all </Files> は、上の6行目を次のようにする。 <Files ~ ([ファイル名1]|[ファイル名2]|[ファイル名3])> 。試しに最下位のディレクトリ全体と、それより上位のディレクトリにある特定のファイルに認証を設定してみたところ、予想に反して認証機能に問題はないように思えた。しばらく様子を見てみよう。