インターネット エクスプローラーでは、Web サイト アドレス (HTTP または HTTPS URL) のユーザー名とパスワードはサポートされていません

警告

廃止され、サポート対象外となった Internet Explorer 11 デスクトップ アプリケーションは、特定のバージョンの Windows 10 で Microsoft Edge の更新プログラムを通じて完全に無効になります。 詳細については、「Internet Explorer 11 デスクトップ アプリの廃止に関する FAQ」をご覧ください。

この記事は、ユーザー情報が Web サイト アドレス (HTTP または HTTPS URL) に含まれている場合のインターネット エクスプローラーの動作について、Web サイト管理者と IT プロフェッショナルに通知することを目的としています。

元の製品バージョン:インターネット エクスプローラー
元の KB 番号: 834489

概要

既定では、セキュリティ更新プログラムのリリース以降にリリースされたインターネット エクスプローラーのバージョン832894、セキュア ソケット レイヤー (SSL) または HTTPS URL を使用した HTTP と HTTP でのユーザー名とパスワードの処理はサポートされていません。 インターネット エクスプローラーまたは Windows エクスプローラーでは、次の URL 構文はサポートされていません。

http(s)://username:password@server/resource.ext

この記事は、インターネット エクスプローラーのこの既定の動作についてユーザーに通知することを目的としています。 HTTP または HTTPS URL にユーザー情報を含める場合は、この記事で説明されている回避策を確認することをお勧めします。

背景情報

インターネット エクスプローラー バージョン 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

注:

この場合、インターネット エクスプローラー 6 Service Pack 1 (SP1) とインターネット エクスプローラー 6 for Microsoft Windows Server 2003 はアドレス バーにのみ表示されますhttp://example.com。 ただし、以前のバージョンのインターネットエクスプローラーアドレス バーに表示されますhttp://www.wingtiptoys.com@example.com

さらに、悪意のあるユーザーは、この URL 構文を他の方法と共に使用して、インターネット エクスプローラーのすべてのバージョンのステータス バーアドレス バータイトル バーに正当な Web サイトへの URL を表示する詐欺 (なりすまし) Web サイトへのリンクを作成できます。 この問題の詳細については、詐欺 (なりすまし) Web サイトや悪意のあるハイパーリンクから 身を守 るために833786記事番号をクリックしてください。

既定の動作の変更の説明

「背景情報」セクションで説明されている問題を軽減するために、インターネット エクスプローラーと Windows エクスプローラーでは、このフォームの HTTP URL と HTTPS URL の処理がサポートされなくなりました。 Windows エクスプローラーとインターネット エクスプローラーは、ユーザー情報を含む URL を使用して HTTP または HTTPS サイトを開くわけではありません。 既定では、ユーザー情報が HTTP または HTTPS URL に含まれている場合、次のタイトルを持つ Web ページが表示されます。

構文エラーが無効です。

注:

既定の動作のこの変更は、他のプロトコルには影響しません。

既定の動作のこの変更は、セキュリティ更新プログラムのリリース以降にリリースされたインターネット エクスプローラーのセキュリティ更新プログラム、サービス パック、およびバージョンによっても実装832894。

ユーザーの回避策

  1. アドレス バーに URL を入力するか、リンクをクリックしたユーザーが開く URL

    ユーザーが通常、アドレス バーにユーザー情報を含む HTTP URL または HTTPS URL を入力する場合、または HTTP または HTTPS URL にユーザー情報を含むリンクをクリックする場合は、インターネット エクスプローラーで次の 2 つの方法でこの新機能を回避できます。

    • HTTP または HTTPS URL にユーザー情報を含めないでください。
    • HTTP または HTTPS URL を入力するときに、ユーザー情報を含めないようにユーザーに指示します。

    Web サイトで基本認証方法を使用している場合、インターネット エクスプローラーはユーザー名とパスワードの入力を自動的に求めます。 場合によっては、ユーザーはダイアログ ボックスの [ パスワードを記憶 する] ボックスをクリックして、その Web サイトに後でアクセスするために資格情報を保存できます。

アプリケーションおよび Web サイト開発者の回避策

  1. 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到着します。

  2. 状態管理に資格情報を使用するスクリプトによって開かれる URL

    スクリプト コードにユーザー情報を含む HTTP または HTTPS URL を含める場合は、状態情報を管理するために、ユーザー情報ではなく Cookie を使用するようにスクリプト コードを変更します。 Cookie を使用して状態情報を管理する方法の詳細については、「 HTTP 状態管理メカニズム」を参照してください。

    Visual Basic を使用して、ASP.NET Web プログラムで HTTP Cookie の読み取りと書き込みを行う方法の例については、「 HttpCookie クラス」を参照してください。

新しい動作を無効にする方法、または他のプログラムで使用する方法

Web ブラウザー コントロールをホストする他のプログラムでこの新しい動作を使用したり、Windows エクスプローラー とインターネット エクスプローラーでこの新しい動作を無効にしたりするようにレジストリ値を設定できます。

  1. Web ブラウザー コントロールをホストするプログラムで、この新しい既定の動作を使用して HTTP または HTTPS URL 内のユーザー情報を処理する方法

    既定では、HTTP または HTTPS URL でユーザー情報を処理するためのこの新しい既定の動作は、Windows エクスプローラーとインターネット エクスプローラーにのみ適用されます。 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

  2. HTTP または HTTPS URL でユーザー情報を処理するための新しい既定の動作を無効にする方法

    Windows エクスプローラー とインターネット エクスプローラーで新しい既定の動作を無効にするには、次のいずれかのレジストリ キーに iexplore.exeexplorer.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 サイトを参照してください。

他社テクニカル サポートのお問い合わせ窓口は、ユーザーの便宜のために提供されているものであり、 将来予告なしに変更されることがあります。 マイクロソフトは、掲載されている情報に対して、いかなる責任も負わないものとします。