升级到php 5.5.1和apache 2.4.6后,检查某些标题现在已被破坏(具体来说,检查HTTP_X_REQUESTED_WITH
)。
通过进一步测试,我发现任何包含下划线的自定义标头都会被忽略(我的意思是它不会出现在PHP的$_SERVER
数组中)。因此,如果我添加名为my-header
的标题,它将以$_SERVER['HTTP_MY_HEADER']
的形式显示,但如果我尝试添加标题my_header
,则$_SERVER
中无法使用该标题。
答案 0 :(得分:18)
这是apache 2.4中记录的功能。见httpd.apache.org/docs/trunk/new_features_2_4.html
标头到环境变量的转换比严格要好 之前通过缓解一些可能的跨站点脚本攻击 标题注入。包含无效字符的标头(包括 现在,我们默默地放弃了。