私のパソコン雑記帖

BASIC 認証の利用例

カテゴリー: PHP
16Sep2006

よく目にする解説記事から

管理用のページや会員用のページは隔離しておきたい。そんなニーズに自分なりのツールを持っておきたい。ということで・・・

手始めに Basic 認証に取組みました。まずネット上随所にみられる解説は
「xxxxx というディレクトリーに隔離したいファイルを置く場合、同じディレクトリーに次のように記述された .htaccess を用意する。」
というところから始まります。

AuthUserFile/home/xxxxx/.htpasswd
AuthName "ユーザー名とパスワードを入力しください"
AuthType Basic
AuthGroupFile /dev/nill
require valid-user

簡単なようですが、つまずくところはしっかり?つまずきます。home と .htpasswd のところです。


ドットファイル(.htpasswd)はどうやって作る?

1アカウント1行で 「ID:暗号化されたパスワード」と書き、アカウント毎に書き連ねたのがこのドットファイル。作り方の解説がないわけではありません。最初目にしたのが htpasswd コマンドで書き込む方法。一寸試してみましたがこれがうまく行かない。

で、もう少し探してみたら暗号化ツールを用意している解説記事がいくつか見つかりました(一例)。パスワードを放り込むと .htpasswd 用に暗号化してくれます。親切な人はいるものです。原始的といわれるかもしれませんが、これで事は足りました。なお .htpasswd のファイル名は任意で .abcd でも abcd.txt でも支障はありませんでした。ただ ht で始まるドットファイルは隠しファイルになるらしい。その点便利なのでしょう。


"home" ってどこ?

これに最初戸惑いました。「フルパスで記入しなさい」と説明している記事があったので絶対パスで URL を記入してみましたがうまくいかない。結局分かったこと、

フルパスとは http:// から始まる絶対パスを意味することもありますが、この場合はサーバーのフルパスを意味します。

そのサーバーのフルパスはどうやって調べる?・・・それはサーバー管理者に確認しなさい、とのこと。ややこしいことだな思ったが、ここでもまた親切なサイトがありました。Kent-Web の Utilities に fullpath viewer というCGI があって、これをターゲット・ディレクトリーにおくと簡単に調べられました。




コメント