2009-08-22 14 views
3

はAsp.net MVCアプリケーションでは、すべての文字列出力はデフォルトあなたがHTTPUtilityですべてを逃れるために覚えたり、XSS攻撃に自分自身を開くのいずれかでエスケープを解除されます。自動エスケープAsp.Net MVC

私は私が私のためにすべての私の文字列をエスケープするために、「忘れない」ことができます解決策を探していますので、今、私は忘れっぽい男です。

すべてのAsp.net MVC出力を簡単にエスケープするために使用した手法を誰も共有できますか?それはあなたのコントロールの多くを与えるために十分に柔軟だし、それゆえ:

答えて

2

jfar、何がしたいことは可能絶対的である、この素晴らしいブログ記事を参照してください。

http://blog.codeville.net/2007/12/19/aspnet-mvc-prevent-xss-with-automatic-html-encoding/

スティーブサンダーソン「<%を変更する方法をステップバイステップを説明= .... > "動作は、CSharpCodeProviderクラスからGenerateCodeFromStatement()メソッドをオーバーライドする、それはクールなことです。多くのHttpUtility.HtmlEncode呼び出しを消去し、asp.net mvcでうまく動作します。

+0

これは、ASP.NET 4.0が新しい<%: x %>の構文で出てくるまで、これは最良の選択肢のようです。このリンクを参照してください: http://haacked.com/archive/2009/09/25/html-encoding-code-nuggets.aspx –

0

は、私はみかん、それのコアバリューの一つですので、あなたは、MVCに多くのことがされていないことを「ビルトイン」を見つけることだと思いますあなた自身が何かをやることを期待しています。

ただし、MVCContrib、特にFluentHtmlをチェックしてください。私はそれがデフォルトであなたのためにエンコードを行うと信じています。

関連する問題