XSS攻击预防

时间:2009-07-06 02:59:08

标签: php javascript web-applications xss

我找到了many XSS attacks的“数据库”,虽然此列表提供了相当大的攻击列表,但是还有其他任何攻击都没有落入XML中,需要关注的是什么意想不到?

3 个答案:

答案 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。这是一个非常好的和有能力的工具。