私のパソコン雑記帖
|
トップページに戻る |
|
|
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 があって、これをターゲット・ディレクトリーにおくと簡単に調べられました。
|
|