如何在Linux服务器中隐藏PHP版本


通常,大多数默认设置安装的web服务器存在信息泄露,这其中之一就是PHP。PHP 是如今流行的服务端html嵌入式语言(之一?)。在如今这个充满挑战的时代,有许多攻击者会尝试发现你服务端的漏洞。因此,我会简单描述如何在Linux服务器中隐藏PHP信息。

默认上expose_php默认是开的。关闭“expose_php”参数可以使php隐藏它的版本信息。

  1. [root@CentOS66 ~]# vi /etc/php.ini

在你的php.ini, 定位到含有expose_php的那行把On设成Off:

  1. expose_php =Off

在此之前,web服务器头看上去就像这样:

  1. [root@centos66 ~]# curl -I http://www.ehowstuff.com/

  1. HTTP/1.1200 OK
  2. Server: nginx
  3. Content-Type: text/html; charset=UTF-8
  4. Vary:Accept-Encoding
  5. X-Powered-By: PHP/5.3.3
  6. X-Pingback: http://www.ehowstuff.com/xmlrpc.php
  7. Date:Wed,11Feb201514:10:43 GMT
  8. X-Page-Speed:1.9.32.2-4321
  9. Cache-Control: max-age=0,no-cache

更改并重启 Web 服务后,php就不会在web服务头中显示版本了:

  1. HTTP/1.1200 OK
  2. Server: nginx
  3. Content-Type: text/html; charset=UTF-8
  4. Vary:Accept-Encoding
  5. X-Powered-By: PHP/5.3.3
  6. X-Pingback: http://www.ehowstuff.com/xmlrpc.php
  7. Date:Wed,11Feb201514:10:43 GMT
  8. X-Page-Speed:1.9.32.2-4321
  9. Cache-Control: max-age=0,no-cache

LCTT译注:除了 PHP 的版本之外,Web 服务器也会默认泄露版本号。如果使用 Apache 服务器,请参照此文章关闭Apache 版本显示;如果使用 Nginx 服务器,请在 http 段内加入server_tokens off; 配置。以上修改请记得重启相关服务。

CentOS 6.3 安装LNMP (PHP 5.4,MyySQL5.6)

在部署LNMP的时候遇到Nginx启动失败的2个问题

Ubuntu安装Nginx php5-fpm MySQL(LNMP环境搭建)

《细说PHP》高清扫描PDF+光盘源码+全套教学视频

CentOS 6中配置PHP的LNMP的开发环境 

PHP 的详细介绍:请点这里
PHP 的下载地址:请点这里

本文永久更新链接地址

相关内容