5

ASP.NET MVC アプリケーションでクロス サイト スクリプティングを防止する最適な方法を見つけようとしています。Microsoft の AntiXSS ライブラリを使用して、基本的に次の 2 つのレベルで保護することを計画しました。ライブラリ自体は非常に単純ですが、検証をどこに配置するかを決めるのに苦労しています。厳密に型指定された HTML ヘルパーを使用し、モデル/ビューモデルを直接バインドしています。各アクション メソッドで個別に AntiXSS を適用することは避けたいと考えています。また、モデル/ビューモデルのプロパティの 1 つで HTML を渡す場合の要件である、投稿アクションで validateinput をオフにしたくないことは間違いありません。

ビューをレンダリングする前 (デコード) およびアクション フィルターに入る前 (エンコード) に AntiXSS を適用できるように、ASP.NET MVC に AntiXSS を挿入できる場所はありますか?

前もって感謝します

4

1 に答える 1

2

OnActionExecutingのメソッドをオーバーライドし、引数のプロパティSystem.Web.Mvc.Controllerを使用して、現在実行中のアクションを特定できます。その後、(私が思うに) を変更してエンコードを行うことができます。ActionDescriptorActionExecutingContextOnActionExecutingActionParametersActionExecutingContext

これをいたずらなコンテンツのチェックにのみ使用する予定ですか ( AntiXss.GetSafeHtml)、またはエンコードも行う予定ですか ( AntiXss.HtmlEncode)? 後者の場合、出力形式が HTML のみに制限されるため、考えてみます。現時点ではおそらく問題ありませんが、このデータが他の場所で使用される場合は制限される可能性があります。

于 2010-01-13T18:33:53.333 に答える