
Apacheでは、Basic認証をすることにより、ディレクトリ単位でアクセス制限を設定することができます。
設定方法は、htaccessファイルにBasic認証の詳細を記述して、htpasswdファイルに許可するユーザー名と暗号化されたパスワードを記述します。
htaccessとhtpasswdによる認証はファイルの走査に時間がかかるので、比較的ユーザーが少ない場合に使用します。 ユーザーが多い場合は、htpasswdファイルの代わりにデータベースの使用を検討してみてください。
Unix系のサーバーについては下記の暗号化ツールが使用できます。
暗号化は一方向性で可逆性はありません。 例え閲覧されても解読は非常に困難です。
*注)暗号化されたパスワードは、Unix系、Windows系などサーバーの種類によって異なりますから、同機種間でないと共有できません。
htaccessファイルにBasic認証の詳細を記述します。
".ht"で始まるファイルを閲覧できないようにしておけば、セキュリティ効果を引き上げることができます。
AuthUserFileで認証用ユーザーファイルの名前と設置場所を指定します。 htaccessファイルと同じ場所に設置しても特に問題ありませんが、心配なら一般の閲覧者がアクセスできないドキュメントルート以上に設置して、パーミッションを604にしておきます。
htaccessで指定した認証用ユーザーファイル".htpasswd"を作成して、ユーザー名と暗号化されたパスワードを1行ずつ貼り付けます。
Basic認証を設定したディレクトリにアクセスして確認します。