プログラミング備忘録 foo

ベーシック認証(ディレクトリー単位)

目的

  • IDとパスワードを知っている者だけ、特定のディレクトリーへアクセス可能にしたい。
  • 制作中のサイトを検索エンジンにインデックスされないようにしたい。

実行結果

ベーシック認証(ディレクトリー単位)

※実際の挙動を確認

解説

  • 正しいIDとパスワードを入れないと先へ進めません。アクセス制限をかけたい時に役立ちます。
  • 上記の実行結果のテキストリンクをクリックすると、ベーシック認証の画面へ遷移します。IDは1234、パスワードは5678です。
  • .htaccessと.htpasswdの2つを作る事でアクセス制限が実現します。
  • .htaccessにはベーシック認証の構文を書きます(後述)。
  • .htpasswdにはIDとパスワードを書きます(後述)。

.htaccess

AuthType Basic
AuthName "Member Site"
AuthUserFile /home/ユーザー名/public_html/.htpasswd
Require valid-user
  • .htaccessという名前のファイルを作り、そのファイルに上記の構文を書き、アクセス制限をかけたい階層に置きます。下層にも全てアクセス制限が適用されます。上層には適用されません。
  • .htaccessという名前のファイルを作れない場合はhtaccess.txtというテキストファイルを作り、アップロード後にサーバー側で.htaccessと名前を変更します。
  • 3行目のAuthUserFileの後には.htpasswdを置いた場所の絶対パス(フルパス)を書いてください。

.htpasswd

1234:zu8hoDcidzZSI
  • まずはGoogle検索で「htpasswd 生成」と検索して、生成サイトで.htpasswd用のIDとパスワードを作ります。上記の構文はIDが1234、パスワードが5678の.htpasswdです。生成サイトではパスワードが暗号化されます。
  • .htpasswdという名前のファイルを作り、生成したIDとパスワードを書き、ルートディレクトリー(トップページがある階層)に置きます。
  • .htpasswdという名前のファイルを作れない場合はhtpasswd.txtというテキストファイルを作り、アップロード後にサーバー側で.htpasswdと名前変更をします。