次の方法で共有


クラシック ASP スクリプトのエラー メッセージが既定で Web ブラウザーに表示されない

作成者: Robert McMurray

以前のバージョンの IIS では、クラシック ASP スクリプトからのエラー メッセージが、既定で Web ブラウザーに送信されていました。 このエラー メッセージで、悪意のあるユーザーに機密情報が表示される可能性があるため、IIS 7 以降では既定でこの機能が無効になっています。 IIS でクラシック ASP スクリプトにエラーが発生すると、既定で次のエラー メッセージが表示されます。

An error occurred on the server when processing the URL. Please contact the system administrator.

If you are the system administrator please click here to find out more about this error.

ASP スクリプトのエラー メッセージをカスタマイズし、スクリプト エラーを Web ブラウザーに返すかどうかを決定することもできます。

Note

セキュリティのベスト プラクティスとして、開発用またはテスト用のコンピューター上でのみ、Web ブラウザーへの ASP スクリプト エラー メッセージの送信を有効にすることをお勧めします。スクリプトのエラー メッセージを Web ブラウザーに返した場合、想定したよりも多くの情報が意図せずに公開される可能性があります。

ユーザー アクセス制御の操作

完全な管理アクセス許可が付与されたアカウントを使用して、このドキュメントの手順に従う必要があります。 そのためには、次の 2 つの方法のいずれかを使用します。

  • ローカルの管理者アカウントを使用してコンピューターにログインします。
  • ローカルの管理者アカウントではない管理アクセス許可を持つアカウントを使用してログインしている場合は、[管理者として実行] オプションを使用して、すべてのアプリケーションとすべてのコマンド プロンプト セッションを開きます。

上記の条件が必要となる理由は、Windows Vista と Windows Server 2008 のユーザー アカウント制御 (UAC) セキュリティ コンポーネントにより、IIS 構成設定への管理アクセスが妨げられるためです。 UAC の詳細については、次のドキュメントを参照してください。

クラシック ASP エラー メッセージのカスタマイズ

これらの設定をカスタマイズするために使用する構成設定を、次に示します。

  • scriptErrorMessage: これはオプションの文字列属性で、特定のデバッグ エラーがクライアントに送信されない場合にブラウザーに送信されるエラー メッセージを指定します。
  • scriptErrorSentToBrowser: これはオプションのブール値属性で、デバッグ詳細のクライアント ブラウザーへの書き込みを有効にするかどうかを指定します。

これらの設定は、IIS マネージャーを使用して構成できます。 これを行うには、IIS マネージャーを開き、スクリプト メッセージを有効または無効にしたいサイトまたはアプリケーションに移動して、[ASP] 機能をダブルクリックします。

Screenshot of the I I S Manager Default Web Site Home page. The A S P icon is highlighted.

ASP 機能の一覧で、[スクリプト エラー メッセージ] オプションと [エラーをブラウザーに送信] オプションを構成します。

Screenshot of the A S P features page. The Send Errors to Browser option is highlighted.

これらの設定は、AppCmd.exe コマンド ライン ツールを次の構文で使用して構成することもできます。

appcmd.exe set config "Default Web Site" -section:system.webServer/asp /scriptErrorMessage:"An error occurred."
appcmd.exe set config "Default Web Site" -section:system.webServer/asp /scriptErrorSentToBrowser:"False"

その他の情報

クラシック ASP のデバッグで使用できるオプションの詳細については、Microsoft IIS.net Web サイトの IIS 構成リファレンスに含まれる次のページを参照してください。

https://www.iis.net/ConfigReference/system.webServer/asp

ASP スクリプトのエラー メッセージを Web ブラウザーに返す代わりに、サーバーで [失敗した要求トレース] を有効にすることもできます。 たとえば、エラーが発生したときに ASP エンジンによって生成される HTTP 500 エラーを自動的にトレースするルールを追加できます。 サーバーの [失敗した要求トレース] のログ出力を分析することで、クラシック ASP エラーの原因を特定できます。 追加のセキュリティ上の注意として、[失敗した要求トレース] のログは Web ブラウザーでは使用できないため、トラブルシューティング情報はサーバーでのみ使用できます。 [失敗した要求トレース] を使用する場合は、監視対象外のクラシック ASP エラーも、エラーを再現せずに詳しくトラブルシューティングできます。