为了账号安全,请及时绑定邮箱和手机立即绑定

在PHP站点中避免XSS攻击的最佳实践是什么?

在PHP站点中避免XSS攻击的最佳实践是什么?

PHP
慕容3067478 2019-06-18 15:19:53
在PHP站点中避免XSS攻击的最佳实践是什么?我已经配置了PHP,以便启用魔术引号,并关闭注册表全局。对于从用户输入派生出来的任何输出,我都会尽我最大的努力调用htmlproperties()。我还偶尔在数据库中搜索XSS附件中常用的内容,例如.<script我还应该做些什么,我怎样才能确保我想要做的事情是总完成了。
查看完整描述

3 回答

?
慕村225694

TA贡献1880条经验 获得超4个赞

我认为一个人在输入过程中不应该逃避任何事情,只有在输出时。因为(大多数情况下)你不能假设你知道数据的去向。例如,如果您的表单获取稍后发送的电子邮件中显示的数据,则需要不同的转义(否则恶意用户可以重写您的电子邮件头)。

换句话说,您只能在数据“离开”您的应用程序的最后一刻逃离:

  • 列表项目
  • 写入xml文件,转义为xml
  • 写入DB,转义(针对特定DBMS)
  • 写电子邮件,逃避电子邮件

走捷径:

  1. 你不知道你的数据会去哪里
  2. 数据可能最终会出现在多个地方,需要不同的转义机制,但不是两者兼而有之。
  3. 为错误的目标转义的数据确实不太好。(例如,收到一封主题为“去汤米的酒吧”的电子邮件。)

如果您在输入层转义数据(或者您需要重新转义它,等等),ESP#3就会出现。

PS:我会再次建议不要使用魔术_引号,那是纯粹的邪恶!


查看完整回答
反对 回复 2019-06-18
  • 3 回答
  • 0 关注
  • 427 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信