簡単!Basic認証の設定方法
2018年7月1日
Webサイトに関わる人なら一度は聞いたことのある「basic認証」
今回は簡単にbasic認証をかけられる方法、うまくいかない時に見るべきポイントを紹介します!
basic認証に必要なもの
- .htaccessファイル
- .htpasswdファイル
上記二つを正しく入れることができればbasic認証はかかります。
では二つのファイルの中について見て見ましょう。
.htaccessファイル
AuthUserFileには.htpasswdファイルまでのパスを記述します。サーバのルートディレクトリからのパスになります。
のちにも書きますが、パスを間違うと動きませんので注意しましょう。
.htpasswdファイル
ここにはアクセス時に入力するIDとパスワードを記述します。
パスワードは基本的にそのままの文字列ではなくエンコードされた文字列を入力しましょう。
以下のサイトを利用すれば簡単に.htaccessと.htpasswdファイルを作成することができます。
.htaccessファイルを簡単作成「.htaccess editor」
basic認証がうまくかからないとき
時々basic認証がうまくかからないことがあります。
そんな時は以下の項目を見直して見ましょう
.htpasswdへのパスを間違えている。
一番多いのが.htpasswdへのパスを間違えている時です。
そんな時は以下のソースを貼り付けたphpファイルを作成し、.htpasswdと同じ階層に置いてみましょう。
私はfullpath.phpというファイル名にしています。
例えばサイトのトップページにbasic認証を掛ける場合、http.www〜〜/fullpath.phpと言う風に叩けば、ディレクトリの正しいパスを取得することができます。
サーバー側との暗号形式が合っていない
上記では「エンコードされた文字列を入力しましょう」と書きましたが、稀にサーバー側と暗号形式が合わない場合があるようです。
暗号化形式を選べるところもあるようなので、うまくいかない場合はそちらを利用して見ましょう
改行・パーミッションが正しくない
- .htaccessファイルと.htpasswdの末尾に改行を入れましょう
- パーミッションを変更してみましょう。右クリック→プロパティからファイルのパーミッションを変更することができます。念のため、ファイルのディレクトリのパーミッションも確認して見るといいでしょう。
UTF-8 with BOM になっていないか
BOM有りになっているとうまくいかない場合があるようです。
一旦確認して見ましょう。もしBOM有りで保存して居た場合は別名で保存し直してみましょう。
まとめ
個人的には、「basic認証は頻度はそこそこある割には意外とすんなりいかない」と思っています。
うまくいかない場合は長いことうんうんと唸ることになりますが、一つ一つ紐解いて解決できたらいいですね。