[HOWTO]Internet Explorer 5.x および 6.x の "HTTP エラー メッセージの簡易表示" 機能をサーバー側で無効にする方法

文書翻訳 文書翻訳
文書番号: 294807 - 対象製品
この記事は、以前は次の ID で公開されていました: JP294807
すべてのユーザーは、Windows Server 2008 で実行されるインターネット インフォメーション サービス (IIS) 7.0 にアップグレードすることを強く推奨します。IIS 7.0 は、Web インフラストラクチャのセキュリティを大幅に向上させます。IIS のセキュリティ関連トピックの詳細については、次のマイクロソフト Web サイトを参照してください。
http://www.microsoft.com/japan/technet/security/prodtech/iis/default.mspx
IIS 7.0 の詳細については、次のマイクロソフト Web サイトを参照してください。
http://www.iis.net/default.aspx?tabid=1
すべて展開する | すべて折りたたむ

目次

概要

この資料では、"HTTP エラー メッセージの簡易表示" 機能をサーバー側で無効にするさまざまな方法について手順を追って説明します。

はじめに

Internet Explorer 5.x および Internet Explorer 6.x から Web ページにアクセスすると、ブラウザーへ送信される実際の HTTP 500 メッセージ テキストが、Internet Explorer の "簡易" エラー メッセージによってマスクされることがあります。この機能はクライアントごとに手動でオフにできますが、この資料では、サーバー側の操作によって "簡易" エラー メッセージの表示を回避するいくつかの方法について説明します。

インターネット インフォメーション サービス (IIS) 5.0 は HTTP 1.1 の仕様に準拠し、ステータス コード 1xx、2xx、3xx、4xx、および 5xx で処理されない応答 ("302 - Object Moved" や "404 - ファイルが見つかりません" など) があると、ステータス コード 500 を返します。IIS 4.0 は RFC 2616 に厳密に従っていないため、ASP (Active Server Pages) ベースの Microsoft Visual Basic Scripting Edition (VBScript) エラーをステータス コード 200 で返します。

HTTP 1.1 仕様の詳細については、次の Web サイトにアクセスしてください。
RFC 2616
http://www.ietf.org/rfc/rfc2616.txt
頻繁に表示されるステータス コードは、Internet Explorer 5.x の画面上では、"簡易" エラー メッセージとして表示され、サーバーから送られた実際のテキストを効果的にマスクします。しかし、"簡易" エラー メッセージは、クライアントへの応答のサイズが指定されているしきい値より小さい場合しか表示されません。たとえば、HTTP 500 応答の実際のテキストを表示するには、Content-Length を 512 バイト以上に設定する必要があります。

簡易エラー メッセージを表示するすべてのステータス コード、およびそれを上書きするための、対応する ErrorThreshold のレジストリの場所についての関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。
218155 HTTP エラー メッセージの説明
Web サーバーから送信された実際のメッセージを表示するには、以下のいずれかの方法を使用します。

方法 1

  1. ブラウザー上で、次の手順に従って "エラーの簡易表示" オプションをオフにします。
    1. Internet Explorer 5.x または 6.x で、[ツール] メニューの [インターネット オプション] をクリックします。
    2. [詳細設定] タブで、[ブラウズ] 領域の [HTTP エラー メッセージを簡易表示する] チェック ボックスをオフにし、[OK] をクリックします。
    3. ブラウザーを閉じます。
  2. クライアントの [HTTP エラー メッセージを簡易表示する] オプションをオフにするには、Internet Explorer 管理者キットまたはシステム ポリシーを使用します。"カスタム ASP エラー" 機能の構成方法の詳細については、次のマイクロソフト Web サイトを参照してください。
    http://technet.microsoft.com/ja-jp/ie/bb219517.aspx

方法 2

  1. IIS 5.0 の "カスタム ASP エラー" 機能を使用して、サーバーから送られた応答に文字を付加し、簡易エラー メッセージが上書きされるようにします。"カスタム ASP エラー" 機能をダウンロードするには、次のマイクロソフト Web サイトを参照してください。
    http://technet.microsoft.com/ja-jp/library/bb727138.aspx
  2. パディング文字を実装します。これを行うには、VBScript の String 関数を使用して、Internet Explorer 5.x でエラー メッセージの簡易表示に使用される ErrorThreshold の値より応答の文字数が 1 つ多くなるように同じ文字の文字列を返します。たとえば、500-100.asp の </body> タグの直前に次の行を追加します。
    <% Response.Write String(513, "_") %>
    					
  3. 一般の 500 エラーで Type=Default ではなく、Type=URL および 500-100.asp を使用するように構成します。既定では、500 エラーは Type=Default を使用するように構成されています。関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。
    224070 カスタム ASP エラー ページの作成
    : IIS では、クライアントに送信する HTTP 500 応答の一部が、内部的に、別の HTTP ステータス コードとして処理されます。この内部処理ステータス コードは、クライアントへの応答が送信される前に 500 に変更されます。ASP の Response.Status メソッドを使用する場合も同様です。どちらの場合も、IIS ではカスタム ASP エラー コードがチェックされません。このような事態を回避するには、ISAPI (Internet Server Application Programming Interface) フィルターを使用します。このフィルターを使用すると、IIS からクライアントへ送信されるステータス コードがページ処理完了後に決定されます。

方法 3

ISAPI フィルターを使用して、すべての HTTP 500 応答の Content-Length が必ず 512 バイトを超え、Internet Explorer 5.x および 6.x の "エラーの簡易表示" 設定を上書きするのに十分な長さになるようにします。PadResponse.exe は ISAPI フィルター (およびそのソース コード) のサンプルで、受け取った HTTP 500 ステータス コードに応じて、クライアントへ送信する応答にパディング文字を追加する方法を実際に試してみることができます。

下記のファイルは、Microsoft ダウンロード センターからダウンロードできます。
元に戻す画像を拡大する
DOWNLOAD
Padresponse.exe
リリース日: 2001 年 4 月 27 日

マイクロソフトのサポート ファイルのダウンロード方法を参照するには、以下のサポート技術情報番号をクリックしてください。
119591 オンライン サービスからマイクロソフトのサポート ファイルを入手する方法
マイクロソフトでは、アップロード時点の最新のウイルス検査プログラムを使用して、配布ファイルのウイルス チェックを行っています。配布ファイルはセキュリティで保護されたサーバー上に置かれており、権限のない第三者が無断でファイルを変更できないようになっています。

関連情報

関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。
261200 500-100.asp から ASP エラー メッセージではなく HTTP 500 エラー メッセージが表示される
150312 ISAPI フィルタ DLL のインストール方法

プロパティ

文書番号: 294807 - 最終更新日: 2010年5月14日 - リビジョン: 7.0
この資料は以下の製品について記述したものです。
  • Microsoft Internet Information Server 4.0
  • Microsoft Internet Information Services 5.0
  • Microsoft Internet Information Services version 5.1
キーワード:?
kbdownload kbhowtomaster KB294807
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

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