Internet Explorer 不支援網站位址中的使用者名稱和密碼, (HTTP 或 HTTPS URL)

警告

已淘汰、不受支援的 Internet Explorer 11 傳統型應用程式已於特定 Windows 10 版本透過 Microsoft Edge 更新永久停用。 如需詳細資訊,請參閱 Internet Explorer 11 傳統型應用程式淘汰常見問題集 (英文)。

本文旨在通知網站管理員和 IT 專業人員,當網站位址 (HTTP 或 HTTPS URL) 包含使用者資訊時,Internet Explorer 的行為。

原始產品版本: Ie
原始 KB 編號: 834489

摘要

根據預設,從安全性更新發行開始發行的 Internet Explorer 版本832894不支援使用安全套接字層處理 HTTP 和 HTTP 中的使用者名稱和密碼, (SSL) 或 HTTPS URL。 Internet Explorer 或 Windows 檔案總管不支援下列 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 語法,自動將使用者資訊傳送至支援基本驗證方法的網站。

惡意使用者可能會使用此 URL 語法來建立超連結,該超連結似乎開啟合法的網站,但實際上會開啟) 網站的惡意 (詐騙。 例如,下列 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 語法,來建立一個惡意 (詐騙) 網站的連結,該網站會在所有 Internet Explorer 版本的 狀態列網址列標題欄 中顯示合法網站的 URL。 如需此問題的詳細資訊,請按兩下文章編號 833786 ,以協助保護自己免於) 網站和惡意超連結的詐騙 (攻擊。

默認行為變更的說明

為了減輕 背景資訊 一節中所討論的問題,Internet Explorer 和 Windows Explorer 不再支援處理此表單的 HTTP 和 HTTPS URL。 Windows 檔案總管和 Internet Explorer 不會使用包含使用者資訊的 URL 來開啟 HTTP 或 HTTPS 網站。 根據預設,如果使用者資訊包含在 HTTP 或 HTTPS URL 中,就會出現具有下列標題的網頁:

語法錯誤無效。

注意事項

默認行為中的這項變更不會影響其他通訊協定。

默認行為的這項變更也會由安全性更新、Service Pack 和 Internet Explorer 版本實作,這些版本從安全性更新832894發行開始發行。

使用者的因應措施

  1. 使用者在網址列中輸入 URL 或按下連結所開啟的 URL

    如果使用者通常會在網址列中輸入包含使用者資訊的 HTTP 或 HTTPS URL,或按兩擊包含 HTTP 或 HTTPS URL 中使用者資訊的連結,您可以透過兩種方式在 Internet Explorer 中解決這項新功能:

    • 請勿在 HTTP 或 HTTPS URL 中包含用戶資訊。
    • 指示使用者在輸入 HTTP 或 HTTPS URL 時不要包含其用戶資訊。

    如果網站使用基本身份驗證方法,Internet Explorer 會自動提示使用者輸入使用者名稱和密碼。 在某些情況下,使用者可以按兩下對話框中的 [ 記住我的密碼 ] 方塊,以儲存其認證以供稍後造訪該網站。

應用程式和網站開發人員的因應措施

  1. 由呼叫 WinInet 或 Urlmon 函式的物件所開啟的 URL

    對於在呼叫 WinInet 或 InternetOpenURL 等 Urlmon 函式時,使用 HTTP 或包含使用者資訊的 HTTPS URL 的物件,請重寫 物件,以使用下列其中一種方法將使用者資訊傳送至網站:

    • 使用 InternetSetOption 函式,並包含下列選項旗標:
      • INTERNET_OPTION_USERNAME
      • INTERNET_OPTION_PASSWORD

    注意事項

    對於這些旗標,InternetSetOption 選項必須具有 InternetConnect 函式所傳回的句柄。 因此,如果應用程式使用 InternetOpenUrl 函式,請修改應用程式以使用 InternetConnect、HttpOpenRequest 和 HttpSendRequest WinInet 函式。

    如需如何使用這些函式的詳細資訊,請造訪下列 Microsoft 網站:

    如需如何使用 IAuthenticate 介面的詳細資訊,請造訪下列 Microsoft 網站:

    注意事項

    透過此因應措施,您可以開啟URL詐騙技術重新導向的網站。 整個 URL 隨即出現,包括重新導向的位置。

    例如,下列 URL 隨即出現:

    http://www.wingtiptoys.com@www.example.com

    使用者仍會抵達重新導向的網站。 在這裡範例中,使用者會抵達 http://www.example.com

  2. 使用認證進行狀態管理的腳本所開啟的URL

    如果您在文稿程式代碼中包含包含使用者資訊的 HTTP 或 HTTPS URL,若要管理狀態資訊,請將腳本程式代碼變更為使用 Cookie,而不是使用者資訊。 如需如何使用 Cookie 來管理狀態資訊的詳細資訊,請參閱 HTTP 狀態管理機制

    若要查看如何使用 Visual Basic 在 ASP.NET Web 程式中讀取和寫入 HTTP Cookie 的範例,請參閱 HttpCookie 類別

如何停用新行為,或在其他程式中使用它

您可以設定登錄值,以便在裝載網頁瀏覽器控件的其他程式中使用這個新行為,或停用 Windows 檔案總管和 Internet Explorer 的這個新行為。

  1. 裝載網頁瀏覽器控制元件的程式如何使用這個新的預設行為來處理 HTTP 或 HTTPS URL 中的用戶資訊

    根據預設,這個在 HTTP 或 HTTPS URL 中處理使用者資訊的新預設行為僅適用於 Windows 檔案總管和 Internet Explorer。 若要在裝載網頁瀏覽器控制件的其他程式中使用這個新行為,請建立名為 SampleApp.exeDWORD 值,其中 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 檔案總管和 Internet Explorer 中的新預設行為,請在下列其中一個登錄機碼中建立 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) 網站:

Microsoft 提供協力廠商的連絡資訊,協助您尋找技術支援。 此連絡資訊如有變更,恕不另行通知。 Microsoft 不保證此協力廠商連絡資訊的正確性。