如何在 PHP 中删除 X-Powered-By 头文件? 我在 Apache 服务器上使用 PHP 5.21。 我不能在 php 中使用 header _ remove 函数,因为5.21不支持它。我使用了 Header unset X-Powered-By,它可以在我的本地机器上工作,但不能在我的生产服务器上工作。
如果 php 不支持 ver < 5.3的 header _ remove () ,还有其他选择吗?
我认为这是由 PHP.ini中的 expose_php设置控制的:
expose_php
expose_php = off
决定 PHP 是否可以公开它安装在服务器上的事实(例如,通过将其签名添加到 Web 服务器头)。它不会以任何方式构成安全威胁,但它可以确定是否在服务器上使用 PHP。
虽然没有直接的安全风险,但是正如 DavidC 指出的那样,公开过时的(可能是易受攻击的) PHP 版本可能会让人们尝试攻击它。
如果您不能禁用 指令来减弱 PHP 的健谈性(需要访问 Php.ini) ,您可以使用 阿帕奇的 Header指令来删除头字段:
Header
Header unset X-Powered-By
如果您有访问 php.ini 的权限,请设置 expose_php = Off。
expose_php = Off
header_remove("X-Powered-By");
Https://secure.php.net/manual/en/function.header-remove.php
if (function_exists('header_remove')) { header_remove('X-Powered-By'); // PHP 5.3+ } else { @ini_set('expose_php', 'off'); }
如果你使用 FastCGI 尝试:
fastcgi_hide_header X-Powered-By;
尝试在发送头之前添加一个 header ()调用,比如:
header('X-Powered-By: Our company\'s development team');
不管 php.ini 中的 expo _ php 设置如何
这个方法对我很有效:)
请在脚本中添加以下一行并检查。
可能不需要 Nnix/Apache 等级设置。
header("Server:");