支持样式标记的HTML Sanitizer for .NET

Kei*_*ley 11 .net css c# vb.net security

我正在寻找一个在ASP.NET项目中使用的好的HTML清理程序.问题在于清洁剂必须支持样式属性,该属性可能包含CSS属性,这些属性也必须进行清理.到目前为止,我还没有找到一个好的产品.在我咬紧牙关并编写自己的消毒剂之前,我想我可能会试着看看这里的人们首先使用的是什么.

我看过并拒绝的图书馆:

  • AntiXSS Library(旧版本不安全,新版本带样式标签)
  • AntiSamy .NET(未维护,缺少.NET版本中的必要功能,具有过时的依赖性)
  • AjaxControlToolkit中的HTMLAgilityPackSanitizer(转义样式标记)

理想的情况是使用基于白名单的清洁程序,该清理程序还会根据已知值或正则表列表验证属性值.

有人能指出我正确的方向吗?

pat*_*ter 5

试试这个原生的 .NET HTML Sanitizer 项目。它可以根据需要理解样式属性(尽管它不会尝试保留 STYLE 标签,它只是删除它们)。

此外,它基于白名单,而不是黑名单(并且它使用 AngleSharp 而不是 CsQuery,后者现在已弃用)。它也在Nuget 上


Jer*_*son 0

Tatham Oddie ASP.Net MVP - http://blog.tatham.oddie.com.au/2009/06/15/released-xhtml-markup-sanitizer/

我现在已将此事推荐给几个人。可能不会做你想做的一切,但 Tatham 是一位很棒的编码员,所以它应该给你很多想法......

就 AntiXSS 而言,据我所知,新版本位于 HTMLAgilityPackSanitizer 中