プロ・クリエータの実践ウェブテクニック集

ログイン状態
お気軽にどうぞ、PCサポート。
         メール・Skype・リモート操作でサポートします。


Basic 認証

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

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

Unix 系 暗号化ツール

Unix系のサーバーについては下記の暗号化ツールが使用できます。
「ユーザー名」と「パスワード」を入力して「送信」をクリックします。
作成された 「User line」 を ".htpasswd" に一人ずつ貼り付けます。

ユーザー名
パスワード
 
User line →

暗号化は一方向性で可逆性はありません。 例え閲覧されても解読は非常に困難です。
*注 暗号化されたパスワードは、Unix 系、Windows 系などサーバーの種類によって異なりますから、同機種間でないと共有できません。

.htaccess の記述

".htaccess" ファイルに Basic 認証の詳細を記述します。
".ht" で始まるファイルを閲覧できないようにしておけば、セキュリティ効果を引き上げることができます。

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

# File hidden. <Files ~ "^\.ht"> Order allow,deny Deny from all </Files> # Auth AuthUserFile /home/xxx/.htpasswd AuthGroupFile /dev/null AuthName "Secret Area" AuthType Basic require valid-user

.htpasswd の記述

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

ichiro:$1$k5FS9h8.$k404YuTrYnB1NLh./psx40 hanako:$1$CVDlg8Po$CbCkYV1FaB.a14rYreCi01

確認

Basic 認証を設定したディレクトリにアクセスして確認します。

Basic認証画面