2011-02-08 8 views
3

ASP.NET MVC2アプリケーションのセクションでは、一般的なリッチテキストボックスからのHTML入力を許可する必要があります。そこで、コントローラメソッドにMVCのブルートフォース入力検証を無効にする属性を追加しました。ValidateInput(false)。ただし、HTML入力をきれいに保つ方法は?

しかし、XSS攻撃を防ぐにはどうすればよいですか。これまでのところ、私は見て、見つけました:

  • AntiXSS:良い見えますが、ホワイトリストは編集できないようです。また、私は何らかの理由でそれを動作させるのに問題があります。 dllへの参照を追加した後でも、コンパイラにはアセンブリが見つからないことがあります。
  • Antisamy:ホワイトリストを構成することができますが、.NETが最後に更新されたのは2009年です。これはセキュリティソフトウェアの信頼を促すものではありません。

他に何か?許可タグを簡単に設定できるように、HTMLを含む入力をクリーンアップするための他のライブラリはありますか?

+1

ASP.NET MVC 3にアップグレードすることはできますか?そうなら、AllowHtml属性を利用することができます。 – amurra

+0

これは、メソッドではなくブルートフォースでフィールドをオフにするだけです。しかし、それを未確認の状態で提出すると仮定すると、それは何ですか? – alphadogg

答えて

0

有害なタグ/属性を排除して、構文解析ツリーを歩いているHTMLパーサーを使用することを検討することもできます。あなたは許可されたものを完全に管理するでしょう。 this questionによると、HTMLAgilityPackはC#に最適です。

関連する問題