码迷,mamicode.com
首页 > Web开发 > 详细

隐藏浏览器中php,apache,varnish,nginx版本信息

时间:2015-06-02 18:17:01      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:

一般浏览器会显示服务器执行脚本或服务器版本相关信息,比如:

技术分享

虽然这个方便调试查看,但暴露了太多的服务器相关信息。实际应用最好关闭这些信息。防止别有用心的人搞破坏。


php 隐藏方法:

文档地址:http://php.net/manual/zh/ini.core.php#ini.expose-php

修改 php.ini


expose_php On

改成

expose_php Off


重启服务器即可。如果没有效果,则需要核对下修改的php.ini是否为当前PHP加载的配置文件。


varnish 隐藏方法:

修改default.vcl配置文件。

找到或添加 vcl_deliver 子程序,代码如下:

sub vcl_deliver {   
    unset resp.http.Via; //varnish 默认显示版本信息
    unset resp.http.X-Varnish;  //varnish 默认
    set resp.http.Server="no-server";  //后端服务器版本信息,如:Apache/2.4.4 (Win64)
}

前面两行代码是删除varnish默认的信息头,最后一行是修改后端服务器的头,重启varnish后

技术分享

当然也可以删除 Server 的显示,把

set resp.http.Server="no-server";

修改为

unset resp.http.Server;

在 vcl_deliver 子程序中是可以任意修改添加响应头信息,所以服务器中有 varnish 则后端服务器无需修改隐藏配置。


apache 隐藏方法:

文档地址:http://httpd.apache.org/docs/2.2/mod/core.html#servertokens

2.0.44版本以后,修改 http.conf 的 ServerTokens 指令:


ServerTokens Prod[uctOnly]
    服务器会发送(比如): Server: Apache


ServerTokens Major
    服务器会发送(比如): Server: Apache/2 


ServerTokens Minor
    服务器会发送(比如): Server: Apache/2.0 


ServerTokens Min[imal]
    服务器会发送(比如): Server: Apache/2.0.41 


ServerTokens OS
    服务器会发送(比如): Server: Apache/2.0.41 (Unix) 


ServerTokens Full (或未指定)
    服务器会发送(比如): Server: Apache/2.0.41 (Unix) PHP/4.2.2 MyMod/1.2 


此设置将作用于整个服务器,而且不能用在虚拟主机的配置段中。

根据需要修改ServerTokens的值,然后重启服务器。


nginx 隐藏方法:

修改 nginx.conf 在文件中添加下面代码,如果存在则修改

server_tokens off;

重启服务器即可



本文出自 “秋风扫落叶” 博客,请务必保留此出处http://php2012web.blog.51cto.com/5585213/1657501

隐藏浏览器中php,apache,varnish,nginx版本信息

标签:

原文地址:http://php2012web.blog.51cto.com/5585213/1657501

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!