如何隐藏HTTP头中的PHP版本号

在本文中,我们解释如何隐藏服务器HTTP响应头中的PHP版本号,以保护Web服务器免受可能的攻击。

PHP的配置,默认情况下允许服务器的HTTP响应头“X-Powered-By”以显示已安装在服务器上的PHP版本。 出于服务器安全原因(虽然不是主要的威胁担心),建议您禁用或隐藏此信息从攻击者谁可能通过想知道您是否正在运行PHP的目标服务器。 假设您的服务器上安装的特定版本的PHP具有安全漏洞,另一方面,攻击者可以了解这一点,他们将更容易利用漏洞并通过脚本访问服务器。 在我以前的文章中,我已经展示了如何隐藏Apache的版本号 ,在那里你已经看到了如何关闭Apache的安装版本。但是如果你在你的apache web服务器中运行PHP,你需要隐藏PHP的安装版本,这也是我们将在本文中显示。 因此,在本文中,我们将解释如何隐藏或关闭显示服务器HTTP响应头中的PHP版本号。 此设置可以在加载的PHP配置文件中配置。如果您不知道此配置文件在您的服务器上的位置,请运行以下命令找到它:
$ php -i | grep "Loaded Configuration File"
PHP配置文件位置
---------------- On CentOS/RHEL/Fedora ---------------- 
Loaded Configuration File => /etc/php.ini
---------------- On Debian/Ubuntu/Linux Mint ---------------- 
Loaded Configuration File => /etc/php/7.0/cli/php.ini
在对PHP配置文件进行任何更改之前,我建议您首先备份您的PHP配置文件,如下所示:
---------------- On CentOS/RHEL/Fedora ---------------- 
$ sudo cp /etc/php.ini /etc/php.ini.orig
---------------- On Debian/Ubuntu/Linux Mint ---------------- 
$ sudo cp /etc/php/7.0/cli/php.ini  /etc/php/7.0/cli/php.ini.orig  
然后打开该文件使用您喜欢的编辑器具有超级用户权限,如下所示:
---------------- On CentOS/RHEL/Fedora ---------------- 
$ sudo vi /etc/php.ini
---------------- On Debian/Ubuntu/Linux Mint ---------------- 
$ sudo vi /etc/php/7.0/cli/php.ini
找到关键字expose_php并将其值设置为关闭
expose_php = off
保存文件并退出。然后,重新启动Web服务器,如下所示:
---------------- On SystemD ---------------- 
$ sudo systemctl restart httpd
$ sudo systemctl restart apache2 
---------------- On SysVInit ---------------- 
$ sudo service httpd restart
$ sudo service apache2 restart
最后但并非最不重要,检查服务器HTTP响应标头是否仍然显示您的PHP版本号使用下面的命令。
$ lynx -head -mime_header http://localhost 
OR
$ lynx -head -mime_header http://server-address
其中的标志:
  1. -head -发送的MIME头HEAD请求。
  2. -mime_header -与聚源打印MIME头一个获取文件。
注意 :请确保您有猞猁-命令行的Web浏览器的系统上安装。 而已!在本文中,我们解释了如何隐藏服务器HTTP响应头中的PHP版本号,以保护Web服务器免受可能的攻击。你可以添加一个意见,这个帖子或可能通过下面的评论表问任何相关问题。