2011-02-08 34 views
3

因此,在ASP.NET MVC2應用程序的一部分中,我必須允許來自典型的富文本框的HTML輸入。所以,我在控制器方法上添加了一個屬性來關閉MVC的強力輸入驗證。ValidateInput(false),但現在如何保持我的HTML輸入乾淨?

但是,現在我該怎麼做,以防止XSS攻擊。到目前爲止,我看了一下,發現:

  • AntiXSS:看起來不錯,但白名單似乎無法編輯。另外,出於某種原因,我正在解決它的問題。將引用添加到dll後,編譯器仍然看到缺少的程序集。
  • Antisamy:允許配置白名單,但上次.NET更新時間爲2009年。這並不能激發對安全軟件的信心。

還有什麼?是否有其他庫用於清理包含HTML的輸入,以便輕鬆配置允許的標記?

+1

您是否允許升級到ASP.NET MVC 3?如果是這樣,你可以利用AllowHtml屬性。 – amurra 2011-02-10 03:09:34

回答

0

您可能會考慮使用HTML解析器,沿着解析樹走去除有害的標記/屬性。你將完全控制允許的內容。根據this questionHTMLAgilityPack是最適合C#的。

相關問題