>> i's SQUARE >> Webサービス構築ガイド >> パスワードによるアクセス制御

パスワードによるアクセス制御

パスワード認証を利用したアクセス制御の方法を紹介します。

■「.htaccess」ファイルの設定

まずアクセス制御したいディレクトリに対して「.htaccess」ファイルに以下を記述します。

AuthType Basic
AuthName "パスワードを入力してください"
AuthUserFile /usr/local/.htpasswd
Require valid-user
「AuthType」は認証の種類でBasicかDigestを指定できます。通常はBasicです。
「AuthName」はここに指定した文字がユーザーのブラウザ認証ウィンドウに表示されます。
「AuthUserFile」でユーザー・パスワードが保存されているファイルの場所を指定します。
「Require」でユーザーの認証形態を指定します。valid-userやuser、groupのいずれかが指定できます。



■ユーザー・パスワードファイル「.htpasswd」の作成

ユーザー・パスワードファイルの名前は好きな名前で問題ないですが、「.htpasswd」の名前で作成するのが一般的です。
セキュリティ上の問題から、このファイルはWebブラウザからアクセスできない場所に作成します。
以下のコマンドで作成可能(ユーザー名:jnethack)です。

htpasswd -c /usr/local/.htpasswd jnethack
-c オプションは一番最初にファイルを作成する時だけ使用して、 作成後にユーザーを追加する場合は不要です。
続いてパスワードを入力するプロンプトが表示されますので、 パスワードを設定します。
尚、 -m オプションを指定しておくと、MD5ベースの暗号化アルゴリズムを使う事も可能です。
あと、以下のように -b オプションを指定しておけば、パスワード(例:hogehoge)を引数として記述することも出来ます。
htpasswd -b /usr/local/.htpasswd jnethack hogehoge

■「.htpwddb」ファイルを使用する

小人数のユーザーリストなら「.htpasswd」で問題ありませんが、 大人数のユーザーリストを作成する場合はデータベースファイル「.htpwddb」の方が参照処理が早くなります。
そこで、以下にデータベースファイル「.htpwddb」の作成方法を記述します。

dbmmanage /usr/local/.htpwddb adduser jnethack
また、この場合は「.htaccess」ファイルは以下のように記述します。
AuthType Basic
AuthName "パスワードを入力してください"
AuthDBUserFile /usr/local/.htpwddb
Require valid-user



ベテランが気力を取り戻すための魔法の言葉「それでも、昔に比べれば・・・」
新人がやる気を出すための魔法の言葉「この仕事が終われば・・・」
by プログラマーの格言