« 質問サイトの問題点 | メイン | 再びAWStatsにセキュリティホール »
2005年03月10日
IEのダイジェスト認証のバグ
カテゴリー:
[自宅サーバ]
いままで,Webのアクセス制御にBasic認証を使っていました.これはパスワードが平文で流れます.
いつかは変えようと思っていたので,今回,Digest認証にかえたのですが,一部のページがIE(Internet Explorer)だと見られません.URLがマッチしないというようなメッセージとともに,400 Bad Requestになってしまいます.
リクエストとレスポンスを覗いてみたところ,URLがCGIを指していて,hoge.cgi?foo=bar のようにパラメータを渡している場合,IEの送り出すAuthorizationヘッダの,uri に ?以降が含まれないことが分かりました.最初は設定ミスかと思ったのですが,調べたら,どうも,これはIEのバグらしいのです.(HTTP クライアントを作ってみよう(6) - Digest 認証編 -)
Digest認証は,URLによってDigestが変わるわけで,これが間違っていたらお話になりません.
このバグ,いつまでたっても直らないそうで,Apache-2.0.51 から,これを強制的に回避するオプションが追加されたようです.
こんな風にして,UserAgent にMSIEが含まれている場合だけ,回避オプションをONにします.
BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On
ところが,私は何となくapache 1.3系を使っています.特に理由はないんですが.
mod_auth_digest にパッチでも当てようかと考えたりもしましたが,管理が面倒になるだけなので,すなおに apache 2.0 系に変えました.
しかし,Microsoft は何でこんな単純なバグを直さないのでしょうね.直すと互換性の問題が起きるというわけでもないだろうし.謎です.というか,どうやるとこういうバグを作れるのか^^;
MicrosoftのWebサーバであるIIS(Internet Information Services)は,どういう実装になっているんでしょう.こういうバグありのリクエストを処理できるんでしょうか.まあ,身内のソフトだから処理できるんだろうと思いますが...
せめて,このくらいは標準に従ってほしいです.
投稿者 shingo : 2005年03月10日 23:23
トラックバック
このエントリーのトラックバックURL:
http://isolinear.info/cgi-bin/mt/mt-tb.cgi/61
コメント
Basic認証 over SSL じゃいかんの?
投稿者 noguchi : 2005年03月14日 13:32
それも考えたけど,オレオレ証明書作るよりはいいかな,と.別に通信内容を保護したいわけじゃないし.
どうせ使うのは自分だけだから,どっちでもよかったんだけど,Digest認証の方が設定も簡単だから.
こんなバグさえなければ,もっと簡単なはずだったんだけど...
投稿者 shingo : 2005年03月14日 16:47
isolinear.info - cooooolest domain name)))
------------------------
sponsored link: http://dewat.ru/
投稿者 vatanellarejz : 2009年02月15日 17:31
Hello, I can't understand how to add your blog ( isolinear.info ) in my rss reader
------------------------
ad: http://potet.ru/
投稿者 Lepsnodswhown : 2009年02月17日 15:34
yo, isolinear.info great name for site)))
------------------------
internet signature: http://cigace.ru/
投稿者 MerbAftereabY : 2009年03月09日 04:41