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

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

我已经配置了PHP,以便启用魔术引号,并关闭注册表全局。

对于从用户输入派生出来的任何输出,我都会尽我最大的努力调用htmlproperties()。

我还偶尔在数据库中搜索XSS附件中常用的内容,例如.

<script

我还应该做些什么,我怎样才能确保我想要做的事情是完成了。


慕容3067478
浏览 439回答 3
3回答

慕村225694

我认为一个人在输入过程中不应该逃避任何事情,只有在输出时。因为(大多数情况下)你不能假设你知道数据的去向。例如,如果您的表单获取稍后发送的电子邮件中显示的数据,则需要不同的转义(否则恶意用户可以重写您的电子邮件头)。换句话说,您只能在数据“离开”您的应用程序的最后一刻逃离:列表项目写入xml文件,转义为xml写入DB,转义(针对特定DBMS)写电子邮件,逃避电子邮件等走捷径:你不知道你的数据会去哪里数据可能最终会出现在多个地方,需要不同的转义机制,但不是两者兼而有之。为错误的目标转义的数据确实不太好。(例如,收到一封主题为“去汤米的酒吧”的电子邮件。)如果您在输入层转义数据(或者您需要重新转义它,等等),ESP#3就会出现。PS:我会再次建议不要使用魔术_引号,那是纯粹的邪恶!
打开App,查看更多内容
随时随地看视频慕课网APP