htmlentities()子弹证明?

时间:2009-12-11 22:49:54

标签: php security xss

我问自己关于使用php函数htmlentities()对抗XSS攻击的安全性,以及htmlspecialchars等相关函数的安全性。

非常感谢:)。

3 个答案:

答案 0 :(得分:8)

你需要明确指定正确的编码(例如:utf-8),Chris有一篇关于如何在没有适当编码的情况下调用htmlentities来注入代码的帖子。

http://shiflett.org/blog/2005/dec/google-xss-example

答案 1 :(得分:4)

它不是防弹,它永远不会为您节省100%。您必须记住,在安全性方面,开发人员对此负责。语言确实提供了大量的安全功能,因此开发人员如何使用白名单方法或黑名单方法保护他们的网站。如果htmlentities是全部,那么像codeigniter,kohana等框架就不会有他们自己很好的安全功能。

最重要的是对来自用户的任何输入进行清理和过滤。

答案 2 :(得分:0)

不,htmlspecialcharshtmlentities等功能无法抵御所有跨站点脚本的情况。

这些功能无效的案例有:

尤其是后一种原因经常被遗漏。 OWASP’s XSS Prevention Cheat Sheet中有许多示例可以在HTML文档中进行注入。但并非所有HTML特殊字符都需要注入和执行JavaScript代码。

相关问题