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