我找到了many XSS attacks的“数据库”,虽然此列表提供了相当大的攻击列表,但是还有其他任何攻击都没有落入XML中,需要关注的是什么意想不到?
答案 0 :(得分:4)
我使用HTML Purifier来允许用户之前只在特定的,安全的HTML中输入评论文本框。它做得非常好,并且有很好的文档。
对于其他所有内容,例如简单的文本框或选择框,在将值写入页面时,我始终通过htmlentities()
运行它:
htmlentities ($_POST['email'], ENT_QUOTES);
只要所有用户提交的数据始终使用htmlentities()
写入页面,就不会出现XSS问题。
答案 1 :(得分:3)
不确定您正在寻找什么,但如果您想阻止您网站上的XSS攻击,我会说完全不允许HTML。如果您想允许HTML,请参阅StackOverflow的工作方式。
您可能会发现其他网站遗漏了一些内容here。
答案 2 :(得分:2)
这是一个非常广泛的主题,需要有关黑客用于完成XSS的技术的详细和最新知识。但首先,你不应该相信任何用户输入。将其视为破解您的网站或破坏您的数据库的潜在企图。
您可以使用许多可用的清洁工具来删除潜在的恶意输入,例如:
用于asp.net Microsoft Anti-XSS库,来自codeplex的HTML Agility Pack。
对于PHP,你当然可以使用HTMLPurifier。这是一个非常好的和有能力的工具。