php - XAMPP 正在删除带有下划线的 HTTP header

标签 php http http-headers xampp

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

我观察到,当我在 Windows 上使用 XAMPP 尝试时,我需要的特定 header (HTTP_EVE_TRUSTED) 在 $_SERVER 中不可用,但如果我在 Debian 上使用 Apache 安装。

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

<?php 
print_r($_SERVER);
?>

当脚本托管在 XAMPP 上时,仅缺少这一个 header 。我怀疑 XAMPP 有一些奇怪的默认配置,会删除某些 header ,这可能是一个安全功能,但我找不到任何相关信息。

根据 Nacerridine 的建议,我使用 Firefox 的 Tamper Data 重现了该问题,我发现只有包含下划线的 header 被删除。

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

最佳答案

我没有找到从 $_SERVER 数组中删除 header 的确切原因,但您仍然可以使用 apache_request_headers 访问相同的信息。

$requestHeaders = apache_request_headers();
if ($requestHeaders){
    echo $requestHeaders['EVE_TRUSTED'];
}

关于php - XAMPP 正在删除带有下划线的 HTTP header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12389423/

相关文章:

PHP 根目录列表

http - 配置 nginx 以从单个服务器提供 HTTP 和 HTTPS 站点的麻烦

java - 如何使用 Java 构建具有正确实体的 http post 请求而不使用任何库?

Django:如何在基于类的 View 中将内容类型 header 设置为 text/xml?

php - 你如何在 PHP 中获取 'referer' header ?

php - Laravel save() 如果关系已经存在

php - PHP引起的奇怪故障

javascript - 保护 HTML/JavaScript 前端和后端之间的请求(身份验证)

http-headers - Headless chrome 不发送 Accept-Language header

php - cron mysqldump 说不使用密码