PHP header_remove

时间:2015-11-11 12:35:53

标签: php http-headers

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

服务器以前运行过PHP 5.21并且我使用了

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

覆盖并删除X-Powered-By标头。这工作,但我发现,由于服务器已更新到PHP 5.6,这不再有效,产生的标题是:

  

X供电-通过:

     

X-Powered-By:PleskLin

我没想到同一个标题的多行,所以我尝试将代码添加到页面

header_remove("X-powered-by");

PleskLin标题仍然存在。很明显,在PHP处理页面之后会添加标题,因此请记住这是一个我真的不熟悉的服务器。

还要运行

header_remove();

不删除X-Powered-By标头,但会删除其他PHP设置标头。

  • 我有没有办法在PHP中删除这个标题?
  • 如果无法通过PHP删除服务器,我怎么能删除服务器上的这个标题(我可以通过电子邮件向服务器所有者发送电子邮件并要求他们更改设置,但在我之前的几次体验中他们并不是非常精通技术跟他们)。

2 个答案:

答案 0 :(得分:1)

我发现在PHP中设置header_remove并且(奇怪地)同时添加.htaccess并删除所有X-Powered-By标题:

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

解释: 给出的原始标题是:

  

x-Powered By:Plesklin

如果我只是添加了.htaccess删除代码,则标题变为

  

X-Powered-By:PHP 5.6.1

但随后与页面header_remove('X-Powered-By')结合使用,清除了该特定标头的所有值。

答案 1 :(得分:-1)

你能做到这一点的唯一方法就是要求主机为php.ini文件中的expose_php设置为off。