我已经有了使用HTML输入的用户输入(使用tinyMCE输入)的常见情况。我需要针对XSS攻击提供一些服务器端保护,并且正在寻找人们正在使用的经过充分测试的工具来执行此操作。在PHP方面,我看到很多像HTMLPurifier这样的库来完成这项工作,但我似乎无法在.NET中找到任何东西。.NET HTML白名单(反xss /跨站脚本)
基本上,我在寻找一个库来筛选下来的标签白名单,属性上的广告代码,并做正确的事与“困难”的属性,如:href和IMG:SRC
我已经看过杰夫阿特伍德的帖子http://refactormycode.com/codes/333-sanitize-html,但我不知道它是如何最新的。它对网站目前使用的内容有任何影响吗?在任何情况下,我都不确定对于尝试将有效输入进行正规化的策略感到满意。
本博客文章中提出了似乎是一个更引人注目的策略:
这种方法实际上解析HTML到DOM,验证,然后从中重建有效的HTML。如果HTML解析能够合理处理格式错误的HTML,那么很好。如果没有,没有什么大不了的 - 我可以要求格式良好的HTML,因为用户应该使用tinyMCE编辑器。无论哪种情况,我都会重写我所知道的安全,格式良好的HTML。
问题是这只是一个描述,没有链接到任何实际执行该算法的库。
这样的图书馆是否存在?如果不是,那么什么是一个好的.NET HTML解析引擎?什么正则表达式应该用来执行额外的验证a:href,img:src?我在这里错过了其他重要的东西吗?
我不想在这里重新实现一个越野车轮。当然,这里有一些常用的库。有任何想法吗?
这个答案有什么问题?为什么它低调? – 2009-08-22 08:23:58
好AntiXSS只是编码,它不是一个脱衣舞或白名单解决方案(还) – blowdart 2009-08-22 08:25:49