Internet Explorer では、Web サイト アドレス (HTTP または HTTPS URL) のユーザー名とパスワードはサポートされていません
警告
廃止されたサポート対象外の Internet Explorer 11 デスクトップ アプリケーションは、特定のバージョンのWindows 10の Microsoft Edge 更新プログラムを通じて完全に無効になっています。 詳細については、「 Internet Explorer 11 デスクトップ アプリの廃止に関する FAQ」を参照してください。
この記事は、ユーザー情報が Web サイト アドレス (HTTP または HTTPS URL) に含まれている場合の Internet Explorer の動作について、Web サイト管理者と IT プロフェッショナルに通知することを目的としています。
元の製品バージョン: Internet Explorer
元の KB 番号: 834489
概要
既定では、セキュリティ更新プログラムのリリース以降にリリースされた Internet Explorer のバージョン832894では、SECURE Sockets Layer (SSL) または HTTPS URL を使用した HTTP および HTTP でのユーザー名とパスワードの処理はサポートされていません。 Internet Explorer または Windows Explorer では、次の URL 構文はサポートされていません。
http(s)://username:password@server/resource.ext
この記事は、Internet Explorer のこの既定の動作を通知することを目的としています。 HTTP または HTTPS URL にユーザー情報を含める場合は、この記事で説明されている回避策を確認することをお勧めします。
背景情報
Internet Explorer バージョン 3.0 から 6.0 では、HTTP または HTTPS URL に対して次の構文がサポートされています。
http(s)://username:password@server/resource.ext
この URL 構文を使用すると、基本認証方法をサポートする Web サイトにユーザー情報を自動的に送信できます。
悪意のあるユーザーがこの URL 構文を使用して、正当な Web サイトを開いているように見えるが、実際には詐欺的 (なりすまし) Web サイトを開くハイパーリンクを作成する可能性があります。 たとえば、次の URL は開 http://www.wingtiptoys.com
いているように見えますが、実際には 開きます http://example.com
。
http://www.wingtiptoys.com@example.com
注:
この場合、Internet Explorer 6 Service Pack 1 (SP1) と Internet Explorer 6 for Microsoft Windows Server 2003 はアドレス バーにのみ表示されます http://example.com
。 ただし、以前のバージョンの Internet Explorer はアドレス バーに表示されます http://www.wingtiptoys.com@example.com
。
さらに、悪意のあるユーザーは、この URL 構文を他の方法と共に使用して、正当な Web サイトの URL を Internet Explorer のすべてのバージョンの ステータス バー、 アドレス バー、 タイトル バー に表示する詐欺 (なりすまし) Web サイトへのリンクを作成できます。 この問題の詳細については、詐欺 (なりすまし) Web サイトや悪意のあるハイパーリンクから 身を守 るために833786記事番号をクリックしてください。
既定の動作の変更の説明
「背景情報」セクションで説明されている問題を軽減するために、Internet Explorer と Windows Explorer では、このフォームの HTTP URL と HTTPS URL の処理がサポートされなくなりました。 Windows エクスプローラーと Internet Explorer では、ユーザー情報を含む URL を使用して HTTP サイトまたは HTTPS サイトを開くわけではありません。 既定では、ユーザー情報が HTTP または HTTPS URL に含まれている場合、次のタイトルを持つ Web ページが表示されます。
構文エラーが無効です。
注:
既定の動作のこの変更は、他のプロトコルには影響しません。
既定の動作のこの変更は、セキュリティ更新プログラムのリリース以降にリリースされた Internet Explorer のセキュリティ更新プログラム、サービス パック、およびバージョンによっても実装832894。
ユーザーの回避策
アドレス バーに URL を入力するか、リンクをクリックしたユーザーが開く URL
通常、ユーザーがアドレス バーにユーザー情報を含む HTTP または HTTPS URL を入力するか、HTTP または HTTPS URL にユーザー情報を含むリンクをクリックする場合は、Internet Explorer で次の 2 つの方法でこの新機能を回避できます。
- HTTP または HTTPS URL にユーザー情報を含めないでください。
- HTTP または HTTPS URL を入力するときに、ユーザー情報を含めないようにユーザーに指示します。
Web サイトで基本認証方法が使用されている場合、Internet Explorer はユーザー名とパスワードの入力を自動的に求めます。 場合によっては、ユーザーはダイアログ ボックスの [ パスワードを記憶 する] ボックスをクリックして、その Web サイトに後でアクセスするために資格情報を保存できます。
アプリケーションおよび Web サイト開発者の回避策
WinInet 関数または Urlmon 関数を呼び出すオブジェクトによって開かれる URL
InternetOpenURL などの WinInet または Urlmon 関数を呼び出すときにユーザー情報を含む HTTP または HTTPS URL を使用するオブジェクトの場合は、次のいずれかの方法を使用して Web サイトにユーザー情報を送信するようにオブジェクトを書き直します。
- InternetSetOption 関数を使用し、次のオプション フラグを含めます。
INTERNET_OPTION_USERNAME
INTERNET_OPTION_PASSWORD
注:
これらのフラグの場合、InternetSetOption オプションには、InternetConnect 関数によって返されるハンドルが必要です。 そのため、アプリケーションで InternetOpenUrl 関数を使用する場合は、InternetConnect、HttpOpenRequest、HttpSendRequest WinInet 関数を使用するようにアプリケーションを変更します。
これらの関数の使用方法の詳細については、次の Microsoft Web サイトを参照してください。
IAuthenticate インターフェイスの使用方法の詳細については、次の Microsoft Web サイトを参照してください。
注:
この回避策では、URL スプーフィング手法によってリダイレクトされる Web サイトを開くことができます。 リダイレクトされた場所を含む URL 全体が表示されます。
たとえば、次の URL が表示されます。
http://www.wingtiptoys.com@www.example.com
ユーザーは引き続きリダイレクトされた Web サイトに到着します。 この例では、ユーザーは に
http://www.example.com
到着します。- InternetSetOption 関数を使用し、次のオプション フラグを含めます。
状態管理に資格情報を使用するスクリプトによって開かれる URL
スクリプト コードにユーザー情報を含む HTTP または HTTPS URL を含める場合は、状態情報を管理するために、ユーザー情報の代わりに Cookie を使用するようにスクリプト コードを変更します。 Cookie を使用して状態情報を管理する方法の詳細については、「 HTTP 状態管理メカニズム」を参照してください。
Visual Basic を使用して、ASP.NET Web プログラムで HTTP Cookie の読み取りと書き込みを行う方法の例については、「 HttpCookie クラス」を参照してください。
新しい動作を無効にする方法、または他のプログラムで使用する方法
Web ブラウザー コントロールをホストする他のプログラムでこの新しい動作を使用したり、Windows エクスプローラーと Internet Explorer でこの新しい動作を無効にしたりするために、レジストリ値を設定できます。
Web ブラウザー コントロールをホストするプログラムで、この新しい既定の動作を使用して HTTP または HTTPS URL 内のユーザー情報を処理する方法
既定では、HTTP または HTTPS URL でユーザー情報を処理するためのこの新しい既定の動作は、Windows エクスプローラーと Internet Explorer にのみ適用されます。 Web ブラウザー コントロールをホストする他のプログラムでこの新しい動作を使用するには、SampleApp.exeという名前の DWORD 値を作成します。ここで、SampleApp.exeはプログラムを実行する実行可能ファイルの名前です。 次のいずれかのレジストリ キーで 、DWORD 値の値データを 1 に設定します。
プログラムのすべてのユーザーに対して、次のレジストリ キーの値を設定します。
HKEY_LOCAL_MACHINE\Software\Microsoft\InternetExplorer\Main\FeatureControl\FEATURE_HTTP_USERNAME_PASSWORD_DISABLE
プログラムの現在のユーザーに対してのみ、次のレジストリ キーの値を設定します。
HKEY_CURRENT_USER\Software\Microsoft\InternetExplorer\Main\FeatureControl\FEATURE_HTTP_USERNAME_PASSWORD_DISABLE
HTTP または HTTPS URL でユーザー情報を処理するための新しい既定の動作を無効にする方法
Windows エクスプローラーと Internet Explorer で新しい既定の動作を無効にするには、次のいずれかのレジストリ キーに iexplore.exe と explorer.exe DWORD 値を作成し、その値データを 0 に設定します。
プログラムのすべてのユーザーに対して、次のレジストリ キーの値を設定します。
HKEY_LOCAL_MACHINE\Software\Microsoft\InternetExplorer\Main\FeatureControl\FEATURE_HTTP_USERNAME_PASSWORD_DISABLE
プログラムの現在のユーザーに対してのみ、次のレジストリ キーの値を設定します。
HKEY_CURRENT_USER\Software\Microsoft\InternetExplorer\Main\FeatureControl\FEATURE_HTTP_USERNAME_PASSWORD_DISABLE
関連情報
HTTP または HTTPS URL の標準 URL 構文の説明については、次のインターネット エンジニアリング タスク フォース (IETF) Web サイトを参照してください。
- RFC 1738: Uniform Resource Locators (URL)
- RFC 2396: Uniform Resource Identifiers (URI): ジェネリック構文
- RFC 2616: Hypertext Transfer Protocol--HTTP/1.1
他社テクニカル サポートのお問い合わせ窓口は、ユーザーの便宜のために提供されているものであり、 将来予告なしに変更されることがあります。 マイクロソフトは、掲載されている情報に対して、いかなる責任も負わないものとします。