.htaccess - Auth Basic 認証

Apacheでは、Basic 認証をすることにより、ディレクトリ単位でアクセス制限を設定することができます。
設定方法は、".htaccess" ファイルに Basic 認証の詳細を記述して、".htpasswd" ファイルに許可するユーザー名と暗号化されたパスワードを記述します。

Basic 認証画面

".htaccess" と ".htpasswd" による認証はファイルの走査に時間がかかりますから、比較的ユーザーが少ない場合に使用します。ユーザーが多い場合は、".htpasswd" ファイルの代わりに、データベースの使用を検討してみてください。

.htaccess ファイルの記述例

".htaccess" ファイルに Basic 認証の詳細を記述します。


# File hidden.
<FilesMatch '^\.ht'>
  Order allow,deny
  Deny from all
</FilesMatch>

# Auth Basic.
AuthUserFile /home/xxx/.htpasswd
AuthGroupFile /dev/null
AuthName 'Secret Area'
AuthType Basic
require valid-user

AuthUserFile で認証用ユーザーファイルの名前と設置場所を指定します。
".ht" で始まるファイルを閲覧できないようにしておけば、セキュリティ効果を引き上げることができます。

.htpasswd ファイルの記述例

".htaccess" で指定した認証用ユーザーファイル ".htpasswd" を作成して、ユーザー名と暗号化されたパスワードを1行ずつ貼り付けます。

ichiro:$1$zsphapdn$6YBz6RlYXppGGSTOjE0oj0
hanako:$1$CVDlg8Po$CbCkYV1FaB.a14rYreCi01

Unix系のサーバーについては、UNIX系暗号化ツールが使用できます。
*注 暗号化されたパスワードは、UNIX 系、Windows 系などサーバーの種類によって異なりますから、同機種間でないと共有できません。

".htpasswd" ファイルは、".htaccess" ファイルと同じ場所に設置しても特に問題ありませんが、心配なら一般の閲覧者がアクセスできないドキュメントルートの上に設置して、パーミッションを "604" にしておきます。

Google Sponsored

コメント

このページに関する、ご感想やご質問をお寄せください。
お名前と都道府県名は、正確にお書きください。 - 泰山 -

お名前: *必須
都道府県: *必須
コメント: *必須

まだコメントは有りません。