10

用户可以输入稍后将显示给其他用户的 HTML。我正在使用的 WYSIWYG 插件从前端清理 HTML。它删除了所有潜在的恶意标签(脚本、src、任何以“on”开头的东西等)我显然还需要在后端进行一些验证。

有谁知道 C# 的一个好的解决方案?我一直看到这个http://roberto.open-lab.com/2010/03/04/a-html-sanitizer-for-c/,虽然我有点犹豫是否要使用随机博客中的一些代码。有没有众所周知的插件?大多数人在这种情况下会怎么做?

4

1 回答 1

7

您可以使用HtmlAgilityPack,这是一个维护良好的库,用于与 HTML 标签相关的所有内容。最佳实践是实施白名单,这是一个允许标签的列表。这个 SO 问题可能正是您所需要的:

HTML Agility Pack 条带标签不在白名单中

于 2013-03-04T18:57:47.623 回答