簡単!Basic認証の設定方法

簡単!Basic認証の設定方法

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と言う風に叩けば、ディレクトリの正しいパスを取得することができます。

サーバー側との暗号形式が合っていない

上記では「エンコードされた文字列を入力しましょう」と書きましたが、稀にサーバー側と暗号形式が合わない場合があるようです。

暗号化形式を選べるところもあるようなので、うまくいかない場合はそちらを利用して見ましょう

.htpasswd生成ツール(MD5対応)

改行・パーミッションが正しくない

  • .htaccessファイルと.htpasswdの末尾に改行を入れましょう
  • パーミッションを変更してみましょう。右クリック→プロパティからファイルのパーミッションを変更することができます。念のため、ファイルのディレクトリのパーミッションも確認して見るといいでしょう。

UTF-8 with BOM になっていないか

BOM有りになっているとうまくいかない場合があるようです。

一旦確認して見ましょう。もしBOM有りで保存して居た場合は別名で保存し直してみましょう。

 

まとめ

個人的には、「basic認証は頻度はそこそこある割には意外とすんなりいかない」と思っています。

うまくいかない場合は長いことうんうんと唸ることになりますが、一つ一つ紐解いて解決できたらいいですね。