已淘汰、不支援的 Internet Explorer 11 傳統型應用程式已透過特定版本的 Microsoft Edge 更新永久停用Windows 10。 如需詳細資訊,請參閱
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 網站:
-
InternetConnectA 函式
-
HttpOpenRequestA 函式
-
HttpSendRequestA 函式
如需如何使用
IAuthenticate
介面的詳細資訊,請造訪下列 Microsoft 網站:
-
IAuthenticate 介面
透過此因應措施,您可以開啟 URL 詐騙技術重新導向的網站。 整個 URL 隨即出現,包括重新導向的位置。
例如,下列 URL 隨即出現:
http://www.wingtiptoys.com@www.example.com
使用者仍會抵達重新導向的網站。 在此範例中,使用者會抵達
http://www.example.com
。
-
使用認證進行狀態管理的腳本所開啟的 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