2007年8月30日
【Apache】.htaccessによるアクセス制限(Basic認証)
自分の管理するWebサイトにアクセス制限をかけたい場合がある。権限によるアクセスを区別したい場合などは多い。たとえば、グループ長以上は見れるとか、バイトの人はみれないとか、管理者グループは見れるとか。
ここで手っ取り早いのこの「.htaccess」だ。
AuthUserFile /home/hogehoge/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user
1行目には、IDとパスワードの組が入ったテキストファイルのフルパスを指定
2行目の「AuthGroupFile /dev/null」は、グループごとにアクセスを許可する場合に用います。「/dev/null」ということはそのようなファイルは存在しないという意味。つまり、グループごとでのアクセス制限はしないという意味。
3行目はダイアログボックスに出す、コメント
4行目の「AuthType」には「Basic」と「Digest」の2種類があり、通常Basic
5行目がグループ認証で、ここで登場するのが、2行目の「AuthGroupFile」になります。ここで、例えば、「AuthGroupFile /home/hogehoge/.group」として、「.group」の中で、
manager:john edward david
sales:mary thomas arnold
などとしておき、「require valid-user」の代わりに「require group manager」とします。これにより、maryやthomasやarnoldは.htpasswdの中に自分のIDがあっても、入室できないようになります。managerであるjohnもしくはedawrdもしくはdavidのみが、しかも正しいパスワードを入力した場合にのみ入室できます。
AuthGroupFileで指定のグループを複数設定したい場合は、グループ名を半角スペースを挟んで並べればよいです。
require group groupA groupB ...
require group
グループ単位で、認証の機会を与えます。パスワードファイルに登録されているユーザのうち、group-name グループに属している場合だけに認証の機会を与え、ほかは拒否します。AuthGroupFile であらかじめグループ定義を行う必要があります。
大型サイトではどうかと思うが、サイトの一部とかで使うのはいいのではないでしょうか。
下記のページはかなり詳しいです。
出典: ミケネコ研究所 > htaccess リファレンス > ユーザー認証
- by editor
- at 09:42
編集長のおすすめの一冊!2010
comments