在php 5.5.1 / apache 2.4.6中忽略了带下划线的标题名称

时间:2013-08-12 11:03:45

标签: php apache http-headers

升级到php 5.5.1和apache 2.4.6后,检查某些标题现在已被破坏(具体来说,检查HTTP_X_REQUESTED_WITH)。

通过进一步测试,我发现任何包含下划线的自定义标头都会被忽略(我的意思是它不会出现在PHP的$_SERVER数组中)。因此,如果我添加名为my-header的标题,它将以$_SERVER['HTTP_MY_HEADER']的形式显示,但如果我尝试添加标题my_header,则$_SERVER中无法使用该标题。

1 个答案:

答案 0 :(得分:18)

这是apache 2.4中记录的功能。见httpd.apache.org/docs/trunk/new_features_2_4.html

  

标头到环境变量的转换比严格要好   之前通过缓解一些可能的跨站点脚本攻击   标题注入。包含无效字符的标头(包括   现在,我们默默地放弃了。