水無月ばけらのえび日記

bakera.jp > 水無月ばけらのえび日記 > ASP.NET は Authorization フィールドが読める

ASP.NET は Authorization フィールドが読める

2003年7月5日(土曜日)

ASP.NET は Authorization フィールドが読める

Basic 認証では HTTP 要求ヘッダの中に Authorization というフィールドが出力され、ID:パスワードを Base64 エンコードしたものが値として送出されます。このフィールドは Apache の CGI からは読むことが出来ません。これはセキュリティ的な配慮で、Authorization フィールドの値が環境変数の値として CGI に渡されると、それが外から読まれてしまう可能性があるためです。

ところが ASP.NET にはこのような制限がなく、Authorization フィールドも他のフィールドと全く同じように読めるようです。Request.Headers["Authorization"] を参照すると、何の問題もなく取得できてしまいます。自ら 401 を返して任意の ID とパスワードで認証するようなことも出来て、便利は便利です。

※ちょっと頑張れば Digest 認証も実装できそうですね。クライアント側が対応しているかどうかは謎ですが。

しかし、これはちょっと気をつけておく必要があります。ユーザが任意の ASP.NET のリソースを使用できるようなサーバで Basic 認証を使っていると、その ID とパスワードを別のユーザの ASP.NET によって読み取られてしまう可能性があります。

関連する話題: Web / セキュリティ / .NET / プログラミング

人気のページ

最近の日記

関わった本など

デザイニングWebアクセシビリティ - アクセシブルな設計やコンテンツ制作のアプローチコーディングWebアクセシビリティ - WAI-ARIAで実現するマルチデバイス環境のWebアプリケーション体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践ウェブの仕事力が上がる標準ガイドブック 5 WebプログラミングWeb Site Expert #13Dreamweaver プロフェッショナル・スタイル [CS3対応] (Style for professional)

その他サイト