PHP header_remove 的可能替代方案

Possible alternatives to PHP header_remove

我在我自己的服务器上 的网站上工作,我没有太多(任何)访问网站 SFTP 之外的服务器设置的权限。

之前的服务器运行 PHP 5.21 我用过

header("X-Powered-By:");

覆盖并删除 X-Powered-By header。这行得通,但我发现自从服务器更新到 PHP 5.6 后,这不再有效,并且生成的 headers 是:

X-Powered-By:

X-Powered-By: PleskLin

没想到有多行相同header,所以我尝试在页面中添加代码

header_remove("X-powered-by");

PleskLin header 仍然存在。显然 header 是在 PHP 处理页面之后添加的,所以记住这一点,这是一个我真的不熟悉的服务器。

还有运行

header_remove();

不删除 X-Powered-By header 但删除其他 PHP 集 headers.

您唯一可以做到这一点的方法是要求主持人在 php.ini 文件中为您将 expose_php 设置为关闭。

我发现在 PHP 中设置 header_remove 并且(奇怪的是)还添加一个 .htaccess 并删除所有 X-Powered-By header小号:

<IfModule mod_headers.c>
  Header unset X-Powered-By
</IfModule>

说明: 原header给出的是:

x-Powered By: Plesklin

如果我简单地添加了 .htaccess 删除代码,header 就变成了

X-Powered-By: PHP 5.6.1

但随后与 on-page header_remove('X-Powered-By') 结合,这清除了特定 header 的所有值。