Asp.NetのValidateRequestの用途は何ですか
ValidateRequest は ASP.NET のセキュリティ機能の 1 つで、クロスサイト スクリプティング (XSS) 攻撃から保護するために使用されます。これにより、ユーザーが入力ボックスに悪意のあるコードを入力してサーバーに送信することができなくなります。
デフォルトで有効化されている ValidateRequest は、ASP.NET ページのライフサイクルの中でユーザー入力の検証を行います。入力が <, >, &, ‘, ” などの危険文字を含む場合、HttpRequestValidationException 例外がスローされ、それ以上のリクエスト処理が阻止されます。
開発者はValidateRequest = “false”を設定することによりValidateRequest機能を無効にすることもできます。ただし、ValidateRequestを無効にするとアプリケーションがクロスサイトスクリプティング攻撃を受けやすくなるので、無効にする前に安全上のリスクを慎重に考慮する必要があります。
ValidateRequest の使用例を次に示します。
- ASP.NET ページで ValidateRequest を使用する
<%@ Page Language="C#" ValidateRequest="true" %>
- ASP.NET Web コントロールで ValidateRequest を使用します
<asp:TextBox ID="txtName" runat="server" ValidateRequestMode="Enabled" />
- コードで ValidateRequest を利用する:
protected void Page_Load(object sender, EventArgs e)
{
ValidateRequestMode = ValidateRequestMode.Enabled;
}