ベーシック認証とは
基本認証とも呼ばれる、最も簡単な認証方法の一つです。
Base64という印字可能な64種類の英数字(A-Z、a-z、0-9)のみを使用してエンコードするため、改ざんが容易であるなどセキュリティ面で問題があります。
また、入力されたユーザー名とパスワードは暗号化されることなく平文でサーバに送信されますので、盗聴されればユーザー名やパスワードが盗まれてしまいます。
一般公開前のテストページなどに使用すると良いでしょう。
使い方
設定は「.htaccess」ファイルと「.htpasswd」ファイルを認証をかけたいフォルダーに置くだけです。
書き方は以下のようになります。
「.htpasswd」ファイル
xドメイン無料サーバーの例です。
AuthUserFile /home/○○/○○.php.xdomain.jp/public_html/.htpasswd AuthGroupFile /dev/null AuthName "Secret Area" AuthType Basic require valid-user <Files ~ "^.(htpasswd|htaccess)$"> deny from all </Files>
xドメインの場合は1行目の○○は自分の決めたユーザー名が入ります。
もしうまく認証されない場合は1行目のパスが間違っています。サーバー情報で確認してください。
多くの間違いは1行目にルートディレクトリからのパスを書かずに、URLを書いている場合などがあります。
1行目はルートディレクトリからのパスになります。
「.htpasswd」ファイル
先に作成した「.htpasswd」と同じ場所に「.htpasswd」を置く必要があります。
「.htpasswd」にはパスワードをベーシック認証用コードに変換して記述する必要があります。
ベーシック認証用パス作成ページでは、idとpassを入力するとcrypt関数を使用して.htpasswdファイルのコードを作成します。
次の例のようにできあがったID名:作成コードを「.htpasswd」ファイルに記述します。
abcdef:6HVyXfc4QsBZo
「.htpasswd」ファイルは「.htpasswd」ファイルと同じフォルダに入れておきます。
これで該当のフォルダ内のファイルを閲覧するときはIDとパスワードの認証が行われます。
パスワードは「.htpasswd」に記述したコードではなく、最初に自分の考えたパスワードを使います。