By烟花易冷

在Linux服务器中隐藏PHP版本通用方法
2015-04-06

PHP 是如今流行的服务端html嵌入式语言(之一?),已经被大多数网站所采用,包括国内我们常见的新浪微博、天猫等等,但是用PHP所搭建的网站中,我们可以通过各种方式看到header中的PHP信息,对于喜欢保密服务器数据的洁癖者,这会造成一定的不便,所以现在来说说如何在服务器中隐藏PHP版本在header的输出吧。

这主要取决于expose_php这个选项,默认上expose_php默认是开的。关闭“expose_php”参数可以使php隐藏它的版本信息。
在你的php.ini, 定位到含有expose_php的那行把On设成Off(如下),然后就大功告成喇~,如果是apache2handler的方式运行的PHP别忘了重启一下你的apache哦!

expose_php = Off

下面是一段来自Linux中国的实测结果:
在此之前,web服务器头看上去就像这样:

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


1.HTTP/1.1 200 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.e***f.com/xmlrpc.php
7.Date: Wed, 11 Feb 2015 14: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.1 200 OK
2.Server: nginx
3.Date: Wed, 11 Feb 2015 15:38:14 GMT
4.Content-Type: text/html; charset=UTF-8
5.Vary: Accept-Encoding
6.X-Pingback: http://www.e***f.com/xmlrpc.php
7.Date: Wed, 11 Feb 2015 14:10:43 GMT
8.X-Page-Speed: 1.9.32.2-4321
9.Cache-Control: max-age=0, no-cache