Cas*_*tor 131 php http-headers
如何在PHP中删除X-Powered-By标头?我在Apache服务器上,我使用的是PHP 5.21.我不能在php中使用header_remove函数,因为5.21不支持它.我使用Header unset X-Powered-By,它在我的本地机器上工作,但不在我的生产服务器上.
如果php不支持ver <5.3的header_remove(),还有替代方法吗?
Pek*_*ica 225
我认为这是由PHP.ini中的expose_php设置控制的:
expose_php = off
Run Code Online (Sandbox Code Playgroud)
决定PHP是否可以公开它安装在服务器上的事实(例如,通过将其签名添加到Web服务器头).它无论如何都不是安全威胁,但它可以确定您是否在服务器上使用PHP.
没有直接的安全风险,但正如David C所指出的那样,暴露一个过时的(可能是易受攻击的)PHP版本可能会邀请人们尝试攻击它.
Pep*_*per 71
header_remove("X-Powered-By");
Run Code Online (Sandbox Code Playgroud)
https://secure.php.net/manual/en/function.header-remove.php
Gum*_*mbo 49
如果你不能禁用expose_php指令来静音PHP的健谈(需要访问php.ini),你可以使用Apache的Header指令删除头字段:
Header unset X-Powered-By
Run Code Online (Sandbox Code Playgroud)
luc*_*nov 22
if (function_exists('header_remove')) {
header_remove('X-Powered-By'); // PHP 5.3+
} else {
@ini_set('expose_php', 'off');
}
Run Code Online (Sandbox Code Playgroud)
Ars*_*nko 13
如果您有权访问php.ini,请设置expose_php = Off.
尝试在发送标头之前添加 header() 调用,例如:
header('X-Powered-By: Our company\'s development team');
Run Code Online (Sandbox Code Playgroud)
无论 php.ini 中的 hide_php 设置如何