お客さんにテストページを確認してもらう際など「ページに簡易的なパスワードをかけたい」というときに便利なBasic(ベーシック)認証。
今回は、安全で失敗しないBasic認証の設定方法について解説します!
Basic認証を設定する手順の確認
Basic認証の設定は、以下の3つの手順で完了します。
- 1. サーバーの「フルパス」を調べる
- 2.
.htpasswdを作る - 3.
.htaccessを作ってアップロードする
具体的な書き方を見ていきましょう。
【コード例あり】実際の書き方
.htpasswd ファイル
まずはIDと暗号化されたパスワードを書き込むファイルを作ります。
ツール(僕がいつも使っているのはこのページです。htpasswdファイル生成)を使い、以下のような形式で記述します。
安全のためにも英数字+記号の強力なパスワードにしましょう。
id:$apr1$y7x9z...(暗号化されたパスワード).htaccess ファイル
次に、認証をかけたいフォルダに配置する .htaccess のコード例です。それぞれの詳しい意味は次の章で解説します。
AuthUserFile /home/ユーザー名/example.com/public_html/.htpasswd
AuthType Basic
AuthName "Please enter your ID and Password"
Require valid-user.htaccessの詳しい解説
AuthUserFile: ルートディレクトリからの .htpasswd への「フルパス」を指定します。
AuthType Basic: 認証方式の指定。Basic認証を指定しています。
AuthName: ダイアログに表示されるメッセージ。文字化けを防ぐため、英数字での記述が安全です。
Require valid-user: アクセスを許可する指定。「パスワードが合っていれば誰でもアクセス許可」という設定です。
【重要】.htaccess はどこに設置する?
ファイルが用意できたら、サーバーにアップロードします。
.htaccess の設置場所
.htaccess は、「パスワード制限をかけたいフォルダ(ディレクトリ)」の直下に設置します。 例えば、サイト全体(トップページ以降すべて)に制限をかけたい場合は public_html(または www )のすぐ下に置きます。「テスト用の特定ページだけ」にかけたい場合は、public_html/test/ のようにそのフォルダの中に配置してください。
└── public_html/
├── .htaccess ← ★認証をかけたいフォルダに置く
├── index.php
├── ...
└── test
├── .htaccess ← ★testのディレクトリに設定したい場合
├── index.php
└── ...500 Internal Server Error が出た場合
「記述ミス」か「古い構文が混ざっている」可能性が高いです。 .htaccessで使用されているコード について誤りがないか確認してください。
まとめ
正しい知識を身につけて、安全にサイトを保護しましょう。


