.htaccessと.htpasswdを第三者に見られないようにする方法
ブラウザで中身が見える場合
ウェブサーバによっては、これらのファイルは直接URLを指定してアクセスしても、最初から表示されない設定になっている場合もあります。もし、そう設定されておらず、直接ブラウザでアクセスすると中身が見えてしまうなら、見えないように設定しておきましょう。
■ブラウザからの閲覧を拒否する設定方法
.htaccessと.htpasswdの2ファイルをウェブ上で閲覧できないように設定するには、.htaccessファイルに以下の3行を追記します。
<Files ~ "^\.ht"> deny from all </Files>
.htaccessに追記
※ここで拒否されるのはブラウザなどを使ったウェブ上での閲覧だけであり、Basic認証の機能には影響しません。
※例えば、自分が過去に「goma」というパスワードをハッシュ化して「Z9hdKWeuMi7jI」という変換結果を得ていたとします。たまたま閲覧できた第三者の.htpasswdファイル内にも同じ「Z9hdKWeuMi7jI」があれば、パスワードは「goma」なのだと分かってしまいます。
■そもそもブラウザから閲覧できない場所に置く方法
上記の3行を.htaccessファイルに追記する以外に、そもそもブラウザから閲覧できない場所に置く方法もあります。
仮にお使いのウェブサーバで /home/user/www/ ディレクトリ以下がウェブとして公開される仕様なら、例えば /home/user/pw/ というディレクトリを作成しておいて、そこに.htpasswdファイルを置きます。この方法なら、.htpasswdファイルはウェブ上には存在しないことになるため、ブラウザからは閲覧しようがありません。
Basic認証を使って、ユーザー名(ID)とパスワードによるアクセス制限をかける方法
Basic認証でアクセス制限
特定のユーザーだけにアクセスを許可する会員制ウェブサイトを作りたい場合や、テストサイトを関係者だけで閲覧したい場合など、アクセスできる閲覧者を制限したい場合にぜひ活用してみて下さい。