様々なブラウザで、ID・パスワードを含むURLでBASIC認証できるか確認してみた
BASIC認証が必要となるWebサイトにアクセスする場合、URLにIDとパスワードを埋め込んでBASIC認証の入力ダイアログを表示させずに認証する方法があります(RFC 3986 3.2.1)。この認証方法を調べていたところ、Internet Explorer では MS04-004 以降無効になっていることを知りました(KB834489)。「では、他のブラウザではどうなのだろう」と思い、確認してみました。
確認結果
動作OS | ブラウザ/バージョン | 結果 |
---|---|---|
Windows 7 SP1 | Internet 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の手順で確認しました。
- ブラウザで http://192.168.0.1/ にアクセスして、BASIC認証のダイアログウインドウが表示されることを確認する([キャンセル]を選択)。
- ブラウザで BASIC認証のIDとパスワードを含む http://user:password@192.168.0.1/ にアクセスする*1
- 2の結果から「成功」または「失敗」を判断する。
- BASIC認証に成功して http://192.168.0.1/ にログインできたら「成功」
- BASIC認証に成功しなかったら(エラーが生じるなど)「失敗」
確認時のスクリーンショット(特徴があったもののみ)
Internet Explorer 9.0.8112.16421
前述の手順2にて、Internet Explorer 9 で http://user:password@192.168.0.1/ にアクセスしたところ、下記の画像のようにアクセスできませんでした。
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。
ブラウザ 4.0.4-SC04DOMLE3
前述の手順2にて、ブラウザ 4.0.4-SC04DOMLE3 で http://user:password@192.168.0.1/ にアクセスしたところ、下記の画像のように BASIC 認証ダイアログが表示されました。これは手順1の結果と同様であったため、手順3では「失敗」と判断しました。
Safari(iOS 6.0.1)
前述の手順2にて、iOS 6.0.1 上の Safari で http://user:password@192.168.0.1/ にアクセスしたところ、下記の画像のように警告ダイアログが表示されました。このダイアログにて「この警告を無視」を選択すると、BASIC認証に成功して http://192.168.0.1/ にアクセスできました。