■CALENDAR■
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30   
<<前月 2010年09月 次月>>
■NEW ENTRIES■
■CATEGORIES■
■ARCHIVES■
■LINK■
■PROFILE■
■POWERED BY■
BLOGN(ぶろぐん)
BLOGNPLUS(ぶろぐん+)
■OTHER■
ブログパーツ

AuthNameはユニークに。
apacheで複数のディレクトリにそれぞれのIDにて基本認証をかけているサイトがあります。
今回は、そこで解った盲点というか、トラブルというか、傍から見たら、そりゃミスなんじゃねぇの?まぁ、そんな話です。



apacheで手っ取り早く、基本認証をかけるということになれば、大体、各ディレクトリ直下に「.htaccess」ファイルを置く事が一般的です。
僕の仕事では、割と頻繁に作っているので、「.htaccess」の雛形を持ち、ユーザIDを該当するIDを設定してディレクトリに置いています。

そんな感じで、ふと、運用しているときに起きました。
それぞれ別のIDを設定しているディレクトリを移動したときに、当然のようにIDとパスワードを入力します。
例えばディレクトリAからディレクトリBへ移動する。そんなところです。
運用にて、こういうディレクトリが多くなれば、それぞれIDを打ち直すのが面倒くさいので、大体多くの人はパスワードを記憶します。

で、そのディレクトリBからディレクトリAへ移動すると、確かパスワードを記憶させたはずなのに、ディレクトリBで認証したIDとパスワードが表示されてしまいました。
ブラウザの問題なのかな?とも思い、まぁ、その都度打ち直せばいいやと思っていたのですが、頻繁にディレクトリを移動してたら、やっぱり面倒くさくなる。

どうにかならないか?と思い調べたら、どうもブラウザの問題じゃなく、「.htaccess」の設定内容という所に落ち着く。
「.htaccess」の詳細な書き方は、きちんとしたサイトに譲るとするが、どうやら、AuthNameの設定に問題があるということがわかった。

AuthName "Please enter your ID and password"

みたいな事を入れると、基本認証のダイアログに
「Please enter your ID and password」
なんて出せるので、雛形にも定例文のように入れてた訳です。

どうも、それが良くなかったようで、
これは、アクセスしてきたユーザに対するメッセージが表示できるテキスト領域ではなかったのです。AuthNameはこのディレクトリに対する認証領域名として設定する名前で、キーのようなものだと。
そのため、ブラウザは、このAuthNameを見てIDとパスワードを記憶させるので、ディレクトリの移動の度に、前のAuthNameに関連付けていたIDとパスワードが表示されると言う事なのです。

じゃ、どうすれば良いか?
要するに、AuthNameがカブらなければ良いのだから、それぞれユニークになるようにすればいいのです。
だからといって、ディレクトリの名前とか入れてたら、IDとかパスワードのヒントを出してるようにも見えてしまう。
そこで、それぞれの「.htaccess」の設定で

AuthName "Please enter your ID and password"



AuthName "Please enter your ID and password [********]"

とし、********にランダムで8文字入れて解決しました。

ただ、個人的には…、
わざわざAuthNameにランダムで8文字入れなきゃならなくなったので、簡単にしてた仕事なのに、とんだ運用負担増だと。
何とか簡単にならんものかと、思案にふけってる訳です。

教訓:
AuthNameはユニークに。
| http://www.cyberjetshin.com/se_memo/index.php?e=20 |
| テクニカルノート | 05:40 PM | comments (0) | trackback (x) |










PAGE TOP ↑