ものぐさ日記(仮)

特にテーマはありません。仕事のこと、趣味のこと、思いついたこと、だらだら綴っていきます。

【ASP.NET】リクエストの検証を抑止する。

 WebForms の TextBox から HTMLタグを入力したところ、「危険な可能性のある Request.Form 値がクライアント (TextBoxToDo="HTMLタグ") から検出されました」という例外が発生した。

 この対応については、表示されているエラー画面のリンク(http://go.microsoft.com/fwlink/?LinkID=212874 )にも記載があるが、全ページ検証を抑止する場合は、Web.Configを下記のように変更する。

 


<configuration>

    <system.web>

      <compilation debug="true" targetFramework="4.5" />

      <httpRuntimetargetFramework="4.5" />

      <pages validateRequest="false" />

    </system.web>

</configuration>

 


 ※太字が追加個所

 

 各ページ個別に対応する場合は、下記のような対応を行う。

<Web.Config>


<configuration>

    <system.web>

      <compilation debug="true" targetFramework="4.5" />

      <httpRuntimetargetFramework="4.5" />

    </system.web>

    <location path="HogeHoge.aspx">

      <system.web>

        <httpRuntimerequestValidationMode="2.0" />

      </system.web>

    </location>

</configuration>


<HogeHoge.aspx> (1行目のページディレクティブ)


 <%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="HogeHoge.aspx.cs"Inherits="Test.HogeHoge" ValidateRequest="false"%>


 

<検証環境 : ASP.NET 4.5>