.htaccessの設定解説 > .htaccessでパスワード
.htaccessでパスワード設定をする
ホームページに閲覧するのに許可するユーザーIDとパスワード入力が必要なページを簡単に作ることができます。.htaccessで設定する以外に別ファイルとして.htpasswdというファイルを作成する必要があります。
パスワード認証の画面 ← IDは123 パスワードは456です。
.htaccessでの設定記述方法
AuthUserFile サイトのフルパス/制限をかけるディレクトリ/.htpasswd
AuthGroupFile /dev/null
AuthName "ユーザーIDとパスワードを入力する画面に表示する文字列"
AuthType Basic
require valid-user
記述の解説
AuthUserFile サイトのフルパスというのはhttp://から始まるものではなく、/から始まります。レンタルサーバなどと契約したときに届くメールに記述されています。例えばロリポップの場合/home/sites/lolipop.jp/users/自分のドメイン/web となります。
AuthGroupFile /dev/null はこのままにします。
AuthName "と"の間に認証画面で表示したい文字を好きに決めます。
AuthType Basic はBacic認証をするのでこのままです。
require valid-user はこのままです。
.htpasswd用のパスワード作成
.htpasswdのファイルにはユーザーID:パスワードと記述しますが、ここでのパスワードの記述は認証時に入力するパスワードを暗号化したものを書かなければなりません。つまり、IDとパスワードから暗号化したパスワードを作る必要があります。
次のフォームにIDとパスワードを入力して暗号化パスワード作成をクリックすると暗号化した.htpasswdに記述する内容を作成することができます。
*今現在は利用しているレンタルサーバ側で作らないと正しく動作しないようです。
ID | ||
パスワード |
.htpasswdでの設定記述例
aiueo:8tL3L0oJ4L0wU
pasoa:iW3z59Y8lWm5n
上記は.htpasswdの内容で、実際に入力するIDはaiueoでパスワードは8tL3L0oJ4L0wUを暗号化する前のものです。
.htpasswdと.htaccessファイルのアップロード
どちらもファイルも.から始まるのでhtaccess.txtとhtpasswd.txtなどで作成しておき、両方ともサーバのパスワードをかける同じフォルダ内にアップした後.htaccessと.htpasswdというファイル名に変えます。パーミッションを604にします。
パスワード認証の確認
.htaccessで設定した認証の必要なフォルダ以下のページにアクセスします。ユーザーIDとパスワードの入力を要求されるので.htpasswdで設定したユーザーIDとパスワードを入力し、ページに入れることを確認します。また、間違ったユーザーIDを入力すると401エラーのページに飛ばされるのを確認します。
パスワード認証を利用する注意点
認証の必要なページを見るとき以外でも、そのページで認証が必要なファイルを呼び出す場合も認証の画面が表示されます。
IDだけがわかってもパスワードがわかるわけではありませんが、IDがわかってしまえばパスワードのみ探せば認証できます。IDもパスワードと同じく秘密に管理するとセキュリティが高まります。