用户可以控制的任何变量,攻击者也可以控制,因此是攻击的源头。这称为“污染”变量,并且不安全。使用时$_SERVER,可以控制许多变量。PHP_SELF,HTTP_USER_AGENT,HTTP_X_FORWARDED_FOR,HTTP_ACCEPT_LANGUAGE和许多其它的是由客户端发送的HTTP请求报头的一部分。有人知道“安全列表”或$_SERVER变量列表吗?用户可以控制的任何变量,攻击者也可以控制,因此是攻击的源头。这称为“污染”变量,并且不安全。使用时$_SERVER,可以控制许多变量。PHP_SELF,HTTP_USER_AGENT,HTTP_X_FORWARDED_FOR,HTTP_ACCEPT_LANGUAGE和许多其它的是由客户端发送的HTTP请求报头的一部分。有人知道“安全列表”或$_SERVER变量列表吗?
4 回答
慕慕森
TA贡献1856条经验 获得超17个赞
在PHP中,每个以$_SERVER开头的变量HTTP_都会受到用户的影响。例如,$_SERVER['HTTP_REINERS']可以通过将HTTP标头设置REINERS为HTTP请求中的任意值来污染变量。
蝴蝶刀刀
TA贡献1801条经验 获得超8个赞
沟通不畅。正如deceze所暗示的那样,“出于什么目的是安全的”。正如我所暗示的,您的用途未知,此外,还有其他一些未记录的$_SERVER
值,具体取决于文件的提供方式。我认为,有记录的文献并没有阐明真正的来源。否则,我相信您不会问这个问题。很高兴您有可以使用的清单。但是我仍然建议您提交错误报告(在错误网站已修复的情况下),向文档维护者发送电子邮件或自行更新文档(如果您不知道链接)。知道此信息将使社区受益。
添加回答
举报
0/150
提交
取消