一聚教程网:一个值得你收藏的教程网站

隐藏PHP版本与apache版本方法总结

mg电子:实战化野战化的本质要求自然是我们文艺创作的立根之本,兵味、土味又凝结成不变的特质。

时间:2013-11-26 00:00:00 编辑:简简单单 来源:转载

隐藏PHP版本

为了安全起见,最好还是将PHP版本隐藏,以避免一些因PHP版本漏洞而引起的攻击。

1、隐藏PHP版本就是隐藏 “X-Powered-By: PHP/5.2.13″ 这个信息。

方法很简单:

编辑php.ini配置文件,修改或加入: expose_php = Off 保存后重新启动Nginx或Apache等相应的Web服务器即可。

 代码如下

[root@bkjz /]# curl -I mg电子
HTTP/1.1 200 OK
Server: nginx
Date: Tue, 20 Jul 2010 05:45:13 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding

已经彻底隐藏了PHP版本。

隐藏Apache版本号


一般情况下,软件的漏洞信息和特定版本是相关的,因此,软件的版本号对攻击者来说是很有价值的。

在默认情况下,系统会把Apache版本模块都显示出来(http返回头信息)。如果列举目录的话,会显示域名信息(文件列表正文),如:

 代码如下

[root@localhost tmp]# curl -I 192.168.80.128:88
HTTP/1.1 403 Forbidden
Date: Wed, 21 Jul 2010 13:09:33 GMT
Server: Apache/2.2.15 (CentOS)
Accept-Ranges: bytes
Content-Length: 5043
Connection: close
Content-Type: text/html; charset=UTF-8

隐藏方法:

1、隐藏Apache版本号的方法是修改Apache的配置文件,如RedHat系的Linux默认是:

 代码如下

vim /etc/httpd/conf/httpd.conf

分别搜索关键字ServerTokens和ServerSignature,修改:

ServerTokens OS 修改为 ServerTokens ProductOnly

ServerSignature On 修改为 ServerSignature Off

2、重启或重新加载Apache就可以了。

 代码如下

apachectl restart

测试一下,如下:

 代码如下

[root@localhost tmp]# curl -I 192.168.80.128:88
HTTP/1.1 403 Forbidden
Date: Wed, 21 Jul 2010 13:23:22 GMT
Server: Apache
Accept-Ranges: bytes
Content-Length: 5043
Connection: close
Content-Type: text/html; charset=UTF-8

版本号与操作系统信息已经隐藏了。

3、上面的方法是默认情况下安装的Apache,如果是编译安装的,还可以用修改源码编译的方法:

进入Apache的源码目录下的include目录,然后编辑ap_release.h这个文件,你会看到有如下变量:

 代码如下

#define AP_SERVER_BASEVENDOR “Apache Software Foundation”
#define AP_SERVER_BASEPROJECT “Apache HTTP Server”
#define AP_SERVER_BASEPRODUCT “Apache”

#define AP_SERVER_MAJORVERSION_NUMBER 2
#define AP_SERVER_MINORVERSION_NUMBER 2
#define AP_SERVER_PATCHLEVEL_NUMBER 15
#define AP_SERVER_DEVBUILD_BOOLEAN 0

可以根据自己喜好,修改或隐藏版本号与名字。

在windows下隐藏apache与php版本号的方法我暂时还没找到,找到会在下面更新哦。

文章评论

热门栏目

合作: 皇都赌城 伟德国际 mg电子