Open棟梁 wiki

[[戻る>FAQ - ASP.NET P層フレームワーク]]

*目次 [#d8fd22ff]
#contents

*概要 [#lbadf161]
[[ASP.NET Web Form>http://techinfoofmicrosofttech.osscons.jp/index.php?ASP.NET%20Web%20Form]]でのサニタイジング方針について纏めます。

*対応方針の材料 [#e662fe14]

**ASP.NETの要求の検証 [#q82b1cd7]
ASP.NETには、要求の検証という機能があり、~
クロスサイトスクリプティング(以下、XSSと略す)の~
可能性のあるリクエストを識別し例外を発生させる機能がある。

-C# - ASP.NETのValidateRequest - Qiita~
http://qiita.com/akoba/items/adc148ab753ad6960805

この機能を無効にするには以下の手順に従う。

web.configで

 <system.web>
   <httpRuntime requestValidationMode="2.0" />
 </system.web>

と指定し(Modeが4.0だと全ページで強制ONになる)、

個別のページで@Pageディレクティブを以下のように設定する必要がある。

 <@ Page validateRequest="false" %>


ただし、無効にした場合は、独自の実装で~
XSSを防止するためのサニタイジング処理を実装する必要がある。

**TextBoxコントロール [#y2c6d84f]
ASP.NETでは最低限、TextBoxコントロールが既定でサニタイジング処理を行う。

**その他のコントロール [#h4fd4273]
しかし、Labelコントロール等は既定でサニタイジングされないので、~
TextBoxコントロールの入力をそのままLabelコントロール等に持って行くと、~
XSSが可能な脆弱性のあるWebアプリケーションが出来上がる。

*対応方針の案 [#a71dfb0d]
ASP.NETの要求の検証をOFFにした際の仕様の組み方は、~

案件依存だが基本的には、

-[[カスタムコントロールのカスタマイズ>http://techinfoofmicrosofttech.osscons.jp/index.php?.NET%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB%E3%81%AE%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA%E6%96%B9%E6%B3%95]]での対応か?

-ライブラリ等で都度変換を行うか?

になると考える。

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS