我正在寻找在ASP.NET元素中使用的良好HTML清理器。问题在于,清理程序必须支持样式属性,该样式属性可能包含CSS属性,还必须对其进行清理。到目前为止,我还没有找到可以使用的好产品。在我硬着头皮写自己的 sanitizer 之前,我想我可能想先看看这里的人在用什么。

我查看过并拒绝的图书馆:

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

  • 理想的情况是拥有一个基于白名单的 sanitizer ,该 sanitizer 还可以根据一系列已知值或正则表达式来验证属性值。

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

    最佳答案

    尝试this native .NET HTML Sanitizer project。它可以根据需要理解样式属性(尽管它不会尝试保留STYLE标签,而只是删除它们)。

    另外,它基于白名单,而不是黑名单(并且它使用AngleSharp代替现已弃用的CsQuery)。这也是on Nuget!

    10-07 19:39