HttpRequestValidationExceptionとは? わかりやすく解説

HttpRequestValidationException クラス

要求データの一部としてクライアントから受信した入力文字列に危険性が高い文字列が含まれている場合にスローされる例外。このクラスは継承できません。

名前空間: System.Web
アセンブリ: System.Web (system.web.dll 内)
構文構文

<SerializableAttribute> _
Public NotInheritable Class
 HttpRequestValidationException
    Inherits HttpException
Dim instance As HttpRequestValidationException
[SerializableAttribute] 
public sealed class HttpRequestValidationException
 : HttpException
[SerializableAttribute] 
public ref class HttpRequestValidationException
 sealed : public HttpException
/** @attribute SerializableAttribute() */ 
public final class HttpRequestValidationException
 extends HttpException
SerializableAttribute 
public final class HttpRequestValidationException
 extends HttpException
解説解説

危険性が高い入力文字列を使用するハッカーの攻撃を防ぐには、Web アプリケーションでユーザー入力を制約し、検証することが重要です。クロスサイト スクリプト攻撃は、そのようなハッキングの一例です。さまざまな入力形式を使用して、危険性が高いその他の不要なデータが渡される可能性もあります。同じコードを使用するプログラマが適切な検証方法を実行しない場合でも、アプリケーションの低レベルで渡されるデータの種類を制限することによって、予期しないイベントを防ぐことができます。

要求の検証では、危険性が高いクライアント入力を検出し、この例外をスローして、要求の処理が中止されます。要求の中止は、クロスサイト スクリプト攻撃などのアプリケーションのセキュリティが損なわれる試みがあったことを示している可能性があります。アプリケーションで、要求の中止に関連するすべての入力を明示的にチェックすることを強くお勧めします。ただし、次の例に示すように、@ Page ディレクティブの validateRequest 属性を false に設定して、要求の検証を無効にできます。

<%@ Page validateRequest="false" %>

アプリケーションで要求の検証を無効にするには、そのアプリケーション用の Web.config ファイルを修正または作成し、次の例に示すように、pages セクションの validateRequest 属性を false に設定する必要があります。

<configuration> 
  <system.web> 
    <pages validateRequest="false" /> 
  </system.web> 
</configuration> 

サーバー上のすべてのアプリケーションで要求の検証を無効にするには、上記のように Machine.config ファイルを修正します。

メモメモ

ASP.NET によって実行される要求の検証に加えて、アプリケーションですべての入力を明示的にチェックすることを強くお勧めします。要求の検証機能では、すべての攻撃を検出できません。特に、アプリケーション論理を標的として行われる攻撃などは検出できません。

使用例使用例

HttpRequestValidationException を使用して、危険性が高いユーザー入力をチェックするコード例を次に示します。

<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML
 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    Sub Button1_Click(ByVal sender As
 Object, ByVal e As System.EventArgs)
        Label1.Text = txt1.Text
    End Sub
</script>

<html  >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox id="txt1" Runat=server />
        <asp:Button ID="Button1" Runat="server"
 Text="Button" OnClick="Button1_Click"
 />
        <br /><br />You entered: <asp:Label ID="Label1"
 Runat="server" Text="Label"
 />.
    </div>
    </form>
</body>
</html>
<%@ Page Language="C#" %>

<script runat="server">
    void Button1_Click(object sender, EventArgs e)
    {
        Label1.Text = txt1.Text;
    }
</script>

<html>
<head id="Head1" runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox id="txt1" Runat=server />
        <asp:Button ID="Button1" Runat="server" Text="Button"
 OnClick="Button1_Click" />
        <br /><br />You entered: <asp:Label ID="Label1"
 Runat="server" Text="Label" />.
    </div>
    </form>
</body>
</html>
.NET Framework のセキュリティ.NET Framework のセキュリティ
継承階層継承階層
System.Object
   System.Exception
     System.SystemException
       System.Runtime.InteropServices.ExternalException
         System.Web.HttpException
          System.Web.HttpRequestValidationException
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
HttpRequestValidationException メンバ
System.Web 名前空間

HttpRequestValidationException コンストラクタ ()


HttpRequestValidationException コンストラクタ

オーバーロード。HttpRequestValidationException クラスの新しいインスタンスを作成します。
オーバーロードの一覧オーバーロードの一覧

名前 説明
HttpRequestValidationException () HttpRequestValidationException クラスの新しいインスタンスを作成します。
HttpRequestValidationException (String) 指定したエラー メッセージを使用して、新しい HttpRequestValidationException 例外を作成します。
HttpRequestValidationException (String, Exception) 指定したエラー メッセージと、例外の原因である内部例外への参照を使用して、HttpRequestValidationException クラスの新しいインスタンスを初期化します。
参照参照

関連項目

HttpRequestValidationException クラス
HttpRequestValidationException メンバ
System.Web 名前空間

HttpRequestValidationException コンストラクタ (String)

メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。

指定したエラー メッセージを使用して、新しい HttpRequestValidationException 例外を作成します。

名前空間: System.Web
アセンブリ: System.Web (system.web.dll 内)
構文構文

Dim message As String

Dim instance As New HttpRequestValidationException(message)
public HttpRequestValidationException (
    string message
)
public:
HttpRequestValidationException (
    String^ message
)
public HttpRequestValidationException (
    String message
)
public function HttpRequestValidationException
 (
    message : String
)

パラメータ

message

エラーを説明する文字列。

解説解説
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
HttpRequestValidationException クラス
HttpRequestValidationException メンバ
System.Web 名前空間

HttpRequestValidationException コンストラクタ (String, Exception)

メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。

指定したエラー メッセージと、例外の原因である内部例外への参照を使用して、HttpRequestValidationException クラスの新しいインスタンスを初期化します。

名前空間: System.Web
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Sub New ( _
    message As String, _
    innerException As Exception _
)
Dim message As String
Dim innerException As Exception

Dim instance As New HttpRequestValidationException(message,
 innerException)
public HttpRequestValidationException (
    string message,
    Exception innerException
)
public:
HttpRequestValidationException (
    String^ message, 
    Exception^ innerException
)
public HttpRequestValidationException (
    String message, 
    Exception innerException
)
public function HttpRequestValidationException
 (
    message : String, 
    innerException : Exception
)

パラメータ

message

例外の原因を説明するエラー メッセージ。

innerException

現在の例外の原因である例外。このパラメータが null 参照 (Visual Basic では Nothing) でない場合は、内部例外を処理する catch ブロックで現在の例外が発生します。

解説解説

前の例外の直接の結果としてスローされる例外については、InnerException プロパティに、前の例外への参照が格納されます。InnerException プロパティは、HttpRequestValidationException(String,Exception) コンストラクタに渡されたものと同じ値を返します。InnerException プロパティによって内部例外値が HttpRequestValidationException(String,Exception) コンストラクタに渡されなかった場合は、null 参照 (Visual Basic では Nothing) を返します。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
HttpRequestValidationException クラス
HttpRequestValidationException メンバ
System.Web 名前空間

HttpRequestValidationException プロパティ


パブリック プロパティパブリック プロパティ

プロテクト プロパティプロテクト プロパティ
  名前 説明
プロテクト プロパティ HResult  特定の例外に割り当てられているコード化数値である HRESULT を取得または設定します。 ( Exception から継承されます。)
参照参照

関連項目

HttpRequestValidationException クラス
System.Web 名前空間

HttpRequestValidationException メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド CreateFromLastError  Win32 API GetLastError() メソッドから返されるエラー コードに基づいて、新しい HttpException 例外を作成します。 ( HttpException から継承されます。)
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。)
パブリック メソッド GetBaseException  派生クラスでオーバーライドされた場合、それ以後に発生する 1 つ以上の例外の主要な原因である Exception を返します。 ( Exception から継承されます。)
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。)
パブリック メソッド GetHtmlErrorMessage  クライアントに返す HTML エラー メッセージを取得します。 ( HttpException から継承されます。)
パブリック メソッド GetHttpCode  クライアントに返す HTTP 応答ステータス コードを取得します。 ( HttpException から継承されます。)
パブリック メソッド GetObjectData  例外に関する情報を取得して、SerializationInfo オブジェクトに追加します。 ( HttpException から継承されます。)
パブリック メソッド GetType  現在のインスタンスのランタイム型を取得します。 ( Exception から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。)
パブリック メソッド ToString  現在の例外の文字列形式を作成して返します。 ( Exception から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

HttpRequestValidationException クラス
System.Web 名前空間

HttpRequestValidationException メンバ

要求データの一部としてクライアントから受信した入力文字列に危険性が高い文字列が含まれている場合にスローされる例外。このクラスは継承できません。

HttpRequestValidationException データ型で公開されるメンバを以下の表に示します。


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド HttpRequestValidationException オーバーロードされます。 オーバーロード。HttpRequestValidationException クラスの新しいインスタンスを作成します。
パブリック プロパティパブリック プロパティ
プロテクト プロパティプロテクト プロパティ
  名前 説明
プロテクト プロパティ HResult  特定の例外に割り当てられているコード化数値である HRESULT を取得または設定します。(Exception から継承されます。)
パブリック メソッドパブリック メソッド
( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド CreateFromLastError  Win32 API GetLastError() メソッドから返されるエラー コードに基づいて、新しい HttpException 例外を作成します。 (HttpException から継承されます。)
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。)
パブリック メソッド GetBaseException  派生クラスでオーバーライドされた場合、それ以後に発生する 1 つ以上の例外の主要な原因である Exception を返します。 (Exception から継承されます。)
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。)
パブリック メソッド GetHtmlErrorMessage  クライアントに返す HTML エラー メッセージを取得します。 (HttpException から継承されます。)
パブリック メソッド GetHttpCode  クライアントに返す HTTP 応答ステータス コードを取得します。 (HttpException から継承されます。)
パブリック メソッド GetObjectData  例外に関する情報を取得して、SerializationInfo オブジェクトに追加します。 (HttpException から継承されます。)
パブリック メソッド GetType  現在のインスタンスのランタイム型を取得します。 (Exception から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。)
パブリック メソッド ToString  現在の例外の文字列形式を作成して返します。 (Exception から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

HttpRequestValidationException クラス
System.Web 名前空間



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「HttpRequestValidationException」の関連用語

HttpRequestValidationExceptionのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



HttpRequestValidationExceptionのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS