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發行開始發行。
使用者的因應措施
使用者在網址列中輸入 URL 或按下連結所開啟的 URL
如果使用者通常會在網址列中輸入包含使用者資訊的 HTTP 或 HTTPS URL,或按兩擊包含 HTTP 或 HTTPS URL 中使用者資訊的連結,您可以透過兩種方式在 Internet Explorer 中解決這項新功能:
- 請勿在 HTTP 或 HTTPS URL 中包含用戶資訊。
- 指示使用者在輸入 HTTP 或 HTTPS URL 時不要包含其用戶資訊。
如果網站使用基本身份驗證方法,Internet Explorer 會自動提示使用者輸入使用者名稱和密碼。 在某些情況下,使用者可以按兩下對話框中的 [ 記住我的密碼 ] 方塊,以儲存其認證以供稍後造訪該網站。
應用程式和網站開發人員的因應措施
由呼叫 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
。- 使用 InternetSetOption 函式,並包含下列選項旗標:
使用認證進行狀態管理的腳本所開啟的URL
如果您在文稿程式代碼中包含包含使用者資訊的 HTTP 或 HTTPS URL,若要管理狀態資訊,請將腳本程式代碼變更為使用 Cookie,而不是使用者資訊。 如需如何使用 Cookie 來管理狀態資訊的詳細資訊,請參閱 HTTP 狀態管理機制。
若要查看如何使用 Visual Basic 在 ASP.NET Web 程式中讀取和寫入 HTTP Cookie 的範例,請參閱 HttpCookie 類別。
如何停用新行為,或在其他程式中使用它
您可以設定登錄值,以便在裝載網頁瀏覽器控件的其他程式中使用這個新行為,或停用 Windows 檔案總管和 Internet Explorer 的這個新行為。
裝載網頁瀏覽器控制元件的程式如何使用這個新的預設行為來處理 HTTP 或 HTTPS URL 中的用戶資訊
根據預設,這個在 HTTP 或 HTTPS URL 中處理使用者資訊的新預設行為僅適用於 Windows 檔案總管和 Internet Explorer。 若要在裝載網頁瀏覽器控制件的其他程式中使用這個新行為,請建立名為 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) 網站:
Microsoft 提供協力廠商的連絡資訊,協助您尋找技術支援。 此連絡資訊如有變更,恕不另行通知。 Microsoft 不保證此協力廠商連絡資訊的正確性。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應