HOW TO:在伺服器端關閉 Internet Explorer 5.x 和 6.x 的「顯示易懂的 HTTP 錯誤訊息」功能

文章翻譯 文章翻譯
文章編號: 294807
Microsoft 強烈建議所有使用者升級為在 Microsoft Windows Server 2008 上執行的 Microsoft Internet Information Services (IIS) 7.0 版。IIS 7.0 能夠大幅提升網頁基礎結構的安全性。如需有關 IIS 安全性主題的詳細資訊,請造訪下列 Microsoft 網站:
http://technet.microsoft.com/zh-tw/library/dd450371(WS.10).aspx (英文)
如需有關 IIS 7.0 的詳細資訊,請造訪下列 Microsoft 網站:
http://www.iis.net/default.aspx?tabid=1
全部展開 | 全部摺疊

在此頁中

結論

本文將逐步說明在伺服器上關閉 [顯示易懂的 HTTP 錯誤訊息] 功能的不同方法。

簡介

當您從 Internet Explorer 5.x 和 Internet Explorer 6.x 存取網頁時,傳送給瀏覽器的 HTTP 500 訊息實際文字可能會被換成 Internet Explorer「易懂的」錯誤訊息。當然您可以為每部用戶端手動關閉此功能,但本文另外提供數個從伺服器端隱藏「易懂的」錯誤訊息的因應措施。

根據 HTTP 1.1 規格,Internet Information Services (IIS) 5.0 會針對不是由其他 1xx、2xx、3xx、4xx 或 5xx 狀態碼處理的回應 (如「302 - 物件已移動」或「404 - 找不到檔案」) 傳回狀態碼 500。因為 IIS 4.0 未嚴格遵守 RFC 2616,所以傳回狀態碼 200 的 Active Server Pages (ASP) 型 Microsoft Visual Basic Scripting Edition (VBScript) 錯誤。

如需 HTTP 1.1 規格的詳細資訊,請造訪下列網站:
RFC 2616
http://www.ietf.org/rfc/rfc2616.txt
Internet Explorer 5.x 會顯示幾個常見狀態碼的「易懂」錯誤訊息,並取代伺服器傳送的實際文字訊息。但是,只有在傳送給用戶端的回應小於或等於指定的臨界值時,才會顯示這些「易懂」錯誤訊息。例如,若想查看 HTTP 500 回應的實際文字,內容長度必須大於 512 個位元組。

如需顯示易懂錯誤訊息的所有狀態碼以及可覆寫該易懂訊息之對應錯誤臨界值的登錄位置的相關資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
218155 Hypertext Transport Protocol 錯誤訊息的說明
若要顯示網頁伺服器所傳送的實際訊息,請使用下列方法之一。

方法 1

  1. 關閉瀏覽器中的易懂的錯誤訊息選項,如下所示:
    1. 在 Internet Explorer 5.x 和 6. x 中,於 [工具] 功能表中按一下 [網際網路選項]
    2. [進階] 索引標籤上,在 [瀏覽] 區段中按一下以清除 [顯示易懂的 HTTP 錯誤訊息] 核取方塊,然後按一下 [確定]
    3. 關閉瀏覽器。
  2. 使用 Internet Explorer Administration Kit 或系統原則推送 [顯示易懂的 HTTP 錯誤訊息] 選項至用戶端。如需如何設定「自訂 ASP 錯誤」功能的相關資訊,請造訪下列 Microsoft 網站:
    http://technet.microsoft.com/zh-tw/ie/bb219517.aspx

方法 2

  1. 使用 IIS 5.0 中的「自訂 ASP 錯誤」功能,將伺服器傳送的回應填補至足夠字元數,以覆寫易懂的錯誤訊息。若要下載「自訂 ASP 錯誤」功能,請造訪下列 Microsoft 網站:
    http://technet.microsoft.com/en-us/library/bb727138.aspx
  2. 實作填補。如果要執行這項操作,請使用 VBScript String 函數傳回相同字元的字串,這是除了 ErrorThreshold 以外 Internet Explorer 5.x 用來顯示易懂錯誤訊息的工具。例如,新增下面指令行至 500-100.asp 的 </body> 標籤前面:
    <% Response.Write String(513, "_") %>
    					
  3. 設定一般 500 錯誤使用 Type=URL 和 500-100.asp,而非 Type=Default。根據預設,500 錯誤設定為使用 Type=Default。如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
    224070 建立自訂的 ASP 錯誤網頁
    注意:IIS 會在內部將某些傳送至用戶端的 HTTP 500 回應處理為另一個 HTTP 狀態碼。在傳送回應給用戶端之前,該內部狀態碼會變更為 500。這是使用 ASP Response.Status 方法的情況。在這種情況下,IIS 不會檢查自訂的 ASP 錯誤碼。若想解決這個情況,請使用「網際網路伺服器應用程式開發介面」(ISAPI) 篩選器來判斷在 IIS 處理頁面後才傳送至用戶端的狀態碼。

方法 3

使用 ISAPI 篩選器,強制所有 HTTP 500 回應的內容長度大於 512 個位元組,以有效填補所有 500 回應,讓它們夠大到可以覆寫 Internet Explorer 5x 和 6.x 中的「易懂的」錯誤設定。Padresponse.exe 是 ISAPI 篩選器範例 (及其原始程式碼),示範如何填補傳送給用戶端的回應 (根據接收到 HTTP 500 狀態碼)。

您可以從「Microsoft 下載中心」下載下列檔案:
摺疊此圖像展開此圖像
DOWNLOAD
立即下載 Padresponse.exe
發行日期:2001 年 8 月 27 日

如需有關如何下載 Microsoft 支援檔案的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
119591 如何從線上服務取得 Microsoft 支援檔案
Microsoft 會對這個檔案進行病毒掃描。Microsoft 是利用發佈當日的最新病毒偵測軟體來掃描檔案。檔案會儲存在安全的伺服器上,以避免任何未經授權的更改。

?考

如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
261200 顯示 HTTP 500 錯誤訊息,而非來自 500-100.asp 的 ASP 錯誤訊息
150312 HOWTO:安裝 ISAPI 篩選器動態連結程式庫

屬性

文章編號: 294807 - 上次校閱: 2013年12月2日 - 版次: 10.0
關鍵字:?
kbdownload kbhowtomaster KB294807
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com