移除 X-PowerBy

  1. 如何在 PHP 中删除 X-Powered-By 头文件? 我在 Apache 服务器上使用 PHP 5.21。 我不能在 php 中使用 header _ remove 函数,因为5.21不支持它。我使用了 Header unset X-Powered-By,它可以在我的本地机器上工作,但不能在我的生产服务器上工作。

  2. 如果 php 不支持 ver < 5.3的 header _ remove () ,还有其他选择吗?

128841 次浏览

我认为这是由 PHP.ini中的 expose_php设置控制的:

expose_php = off

决定 PHP 是否可以公开它安装在服务器上的事实(例如,通过将其签名添加到 Web 服务器头)。它不会以任何方式构成安全威胁,但它可以确定是否在服务器上使用 PHP。

虽然没有直接的安全风险,但是正如 DavidC 指出的那样,公开过时的(可能是易受攻击的) PHP 版本可能会让人们尝试攻击它。

如果您不能禁用 指令来减弱 PHP 的健谈性(需要访问 Php.ini) ,您可以使用 阿帕奇的 Header指令来删除头字段:

Header unset X-Powered-By

如果您有访问 php.ini 的权限,请设置 expose_php = Off

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:");