XAMPP正在删除带有下划线的HTTP标头

时间:2012-09-12 13:35:21

标签: php http http-headers xampp

我试图让PHP应用程序运行依赖于通过HTTP标头提供附加信息的特定浏览器。具体来说,它是EVE Online游戏浏览器,但我的问题在于XAMPP(特别是XAMPP USB Lite 1.8.0)处理这些标题的方式。

我观察到的是,当我在Windows上使用XAMPP进行尝试时,我需要的HTTP_EVE_TRUSTED特定标头在$_SERVER中不可用,但如果我在Debian上使用Apache安装,它就在那里

我使用了一个简单的脚本来输出标题:

<?php 
print_r($_SERVER);
?>

,当脚本托管在XAMPP上时,只丢失了这一个标头。我怀疑XAMPP有一些奇怪的默认配置剥离某些标题,可能是一个安全功能,但我找不到任何相关内容。

根据Nacerridine的建议,我使用Tamper Data for Firefox重现了这个问题,我发现只删除包含下划线的标题。

什么可能导致此标头在XAMPP上不可用而在其他服务器上不可用?我该如何解决这个问题?

2 个答案:

答案 0 :(得分:5)

我没有找到从$_SERVER数组中删除标头的确切原因,但您仍然可以使用apache_request_headers

访问相同的信息
$requestHeaders = apache_request_headers();
if ($requestHeaders){
    echo $requestHeaders['EVE_TRUSTED'];
}

答案 1 :(得分:0)

我遇到同样的问题,我使用cUrl传递自定义标头变量但是当我打印$ _SERVER变量时,我看不到自定义标头变量..

但是当我打印

apache_request_headers()
时,自定义变量可用。

如果您已重新配置服务器以完成此操作,请与我们联系。我正在使用xampp 1.8.0