Php 是防弹的吗?

Php 是防弹的吗?,php,security,xss,Php,Security,Xss,我在问自己使用php函数htmlentities()抵御XSS攻击的安全性,可能还有相关函数,比如htmlspecialchars 非常感谢:)您需要明确指定正确的编码(例如:utf-8),Chris发表了一篇关于如何注入代码的帖子,甚至在没有适当编码的情况下调用Htmlenties 它不是防弹的,它永远不会为你节省100%。您必须记住,当涉及到安全性时,开发人员要对此负责。语言确实提供了大量的安全功能,因此,无论是使用白名单方法还是黑名单方法,都取决于开发人员如何保护他们的站点。如果htmle

我在问自己使用php函数htmlentities()抵御XSS攻击的安全性,可能还有相关函数,比如htmlspecialchars


非常感谢:)

您需要明确指定正确的编码(例如:utf-8),Chris发表了一篇关于如何注入代码的帖子,甚至在没有适当编码的情况下调用Htmlenties


它不是防弹的,它永远不会为你节省100%。您必须记住,当涉及到安全性时,开发人员要对此负责。语言确实提供了大量的安全功能,因此,无论是使用白名单方法还是黑名单方法,都取决于开发人员如何保护他们的站点。如果htmlentities是全部,那么像codeigniter、kohana等框架就不会有自己强大的安全功能


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

不,像
htmlspecialchars
htmlentities
这样的函数不能防止所有跨站点脚本编写的情况

这些功能没有帮助的情况包括:

  • 利用漏洞数据未到达服务器(基于DOM的XSS)
  • 利用漏洞的数据不会仅在HTML上下文中解释,这些函数编码的特殊字符为或

尤其是后一个原因常常被忽略。中有许多示例说明了在HTML文档中可以进行注入。但并不是所有的代码都需要任何HTML特殊字符来注入和执行JavaScript代码。

非常感谢,这正是我想要的证据:)我必须研究编码问题。你知道一些关于这方面的好文档吗?我鼓励你阅读一个真实的Gmail contact xss示例,阅读可在下面的帖子中下载的漏洞,希望能给你一些关于如何编写安全代码的想法:下面是一个你可能会发现有用的备忘单: