Hatena::ブログ(Diary)

思い立ったら書く日記

 | 

2012-11-10

様々なブラウザで、ID・パスワードを含むURLでBASIC認証できるか確認してみた

| 17:29 | 様々なブラウザで、ID・パスワードを含むURLでBASIC認証できるか確認してみたを含むブックマーク

BASIC認証が必要となるWebサイトにアクセスする場合、URLにIDとパスワードを埋め込んでBASIC認証の入力ダイアログを表示させずに認証する方法があります(RFC 3986 3.2.1)。この認証方法を調べていたところ、Internet Explorer では MS04-004 以降無効になっていることを知りました(KB834489)。「では、他のブラウザではどうなのだろう」と思い、確認してみました。

確認結果

動作OSブラウザ/バージョン結果
Windows 7 SP1Internet Explorer 9.0.8112.16421失敗
Mozilla Firefox 16.0.2成功(確認ダイアログ表示)
Opera 12.10成功
Google Chrome 23.0.1271.64 m成功
Android 4.0.4(Galaxy Nexus)ブラウザ 4.0.4-SC04DOMLE3失敗
Chrome 18.0.1025464成功
iOS 6.0.1(iPad2)Safari成功(警告ダイアログ表示)
Chrome 21.0.1180.82失敗
3DS Ver 4.4.0-10Jインターネットブラウザー 1.7498成功

確認手順、確認時のスクリーンショット(特徴があったもののみ)を以下にまとめます。

確認手順

以下の確認環境にて、1から3の手順で確認しました。

f:id:kaito834:20121110164724p:image:w378:h204

  1. ブラウザで http://192.168.0.1/ にアクセスして、BASIC認証のダイアログウインドウが表示されることを確認する([キャンセル]を選択)。
  2. ブラウザで BASIC認証のIDとパスワードを含む http://user:password@192.168.0.1/ にアクセスする*1
  3. 2の結果から「成功」または「失敗」を判断する。

確認時のスクリーンショット(特徴があったもののみ)

Internet Explorer 9.0.8112.16421

前述の手順2にて、Internet Explorer 9http://user:password@192.168.0.1/ にアクセスしたところ、下記の画像のようにアクセスできませんでした。

f:id:kaito834:20121110161431p:image:w256:h185


Mozilla Firefox 16.0.2

前述の手順2にて、Firefox 16.0.2 で http://user:password@192.168.0.1/ にアクセスしたところ、下記の画像のように確認ダイアログが表示されました。このダイアログにて「OK」を選択すると、BASIC認証に成功して http://192.168.0.1/ にアクセスできました。「キャンセル」を選択すると、192.168.0.1 へのアクセスを中止できます*2

f:id:kaito834:20121110161433p:image:w256:h185


ブラウザ 4.0.4-SC04DOMLE3

前述の手順2にて、ブラウザ 4.0.4-SC04DOMLE3 で http://user:password@192.168.0.1/ にアクセスしたところ、下記の画像のように BASIC 認証ダイアログが表示されました。これは手順1の結果と同様であったため、手順3では「失敗」と判断しました。

f:id:kaito834:20121110161429p:image:w180:h320


Safari(iOS 6.0.1)

前述の手順2にて、iOS 6.0.1 上の Safarihttp://user:password@192.168.0.1/ にアクセスしたところ、下記の画像のように警告ダイアログが表示されました。このダイアログにて「この警告を無視」を選択すると、BASIC認証に成功して http://192.168.0.1/ にアクセスできました。

f:id:kaito834:20121110161427p:image:w185:h256

*1:このブログ記事でのidとpasswordは実際のものと異なります

*2:今回はパケットキャプチャデータまで確認していないため、実際に HTTP リクエストが送信されていないか確認していません。

 |