您的位置:首页 > 理论基础 > 计算机网络

Lighttpd、Nginx 、Apache 隐藏响应头信息的Server信息和版本信息

2011-06-30 15:20 615 查看
web server避免一些不必要的麻烦,可以把apache和php的版本信息不显示

隐藏 Apache 版本信息
/etc/apache2/apache2.conf 或 /etc/httpd/conf/httpd.conf
ServerTokens ProductOnly

ServerSignature Off
重启 apache

现在 http 头里面只看到:

Server: Apache
=====================
nginx

#vi nginx.conf

在http 加上 server_tokens off;
如下:
http {

……省略配置

sendfile on;

tcp_nopush on;

keepalive_timeout 65;

tcp_nodelay on;

server_tokens off;

…….省略配置

}
=======================
隐藏 PHP 版本

php.ini
expose_php On

改成

expose_php Off
重启apache后,php版本在http头中隐藏了。

===

参考解决方案:



1. Lighttpd 1.4.20


src/response.c:108 改为:

buffer_append_string_len(b, CONST_STR_LEN("Server: jufukeji"));

输出 Header:

HTTP/1.1 404 Not Found

Content-Type: text/html

Content-Length: 345

Date: Mon, 12 Jan 2009 13:54:02 GMT

Server: jufukeji

2. Nginx 0.7.30

src/http/ngx_http_header_filter_module.c:48-49 改为:

static char ngx_http_server_string[] = "Server: jufukeji" CRLF;

static char ngx_http_server_full_string[] = "Server: jufukeji" CRLF;

输出 Header:

HTTP/1.1 200 OK

Server: jufukeji

Date: Mon, 12 Jan 2009 14:01:10 GMT

Content-Type: text/html

Content-Length: 151

Last-Modified: Mon, 12 Jan 2009 14:00:56 GMT

Connection: keep-alive

Accept-Ranges: bytes

3. Cherokee 0.11.6

cherokee/version.c:93 添加:

ret = cherokee_buffer_add_str (buf, "jufukeji");

return ret;

输出 Header:

HTTP/1.1 200 OK

Connection: Keep-Alive

Keep-Alive: timeout=15

Date: Mon, 12 Jan 2009 14:54:39 GMT

Server: jufukeji

ETag: 496b54af=703

Last-Modified: Mon, 12 Jan 2009 14:33:19 GMT

Content-Type: text/html

Content-Length: 1795

4. Apache 2.2.11

server/core.c:2784 添加:

ap_add_version_component(pconf, "jufukeji");

return;

输出 Header:

HTTP/1.1 200 OK

Date: Mon, 12 Jan 2009 14:28:10 GMT

Server: jufukeji

Last-Modified: Sat, 20 Nov 2004 20:16:24 GMT

ETag: "1920edd-2c-3e9564c23b600"

Accept-Ranges: bytes

Content-Length: 44

Content-Type: text/html

5. Squid 3.0 STABLE 11

src/globals.cc:58 改为:

const char *const full_appname_string = "jufukeji";

输出 Header:

HTTP/1.0 400 Bad Request

Server: jufukeji

Mime-Version: 1.0

Date: Mon, 12 Jan 2009 15:25:15 GMT

Content-Type: text/html

Content-Length: 1553

Expires: Mon, 12 Jan 2009 15:25:15 GMT

X-Squid-Error: ERR_INVALID_URL 0

X-Cache: MISS from 'cache.hutuworm.org'

Via: 1.0 'cache.hutuworm.org' (jufukeji)

Proxy-Connection: close

6. Tomcat 6.0.18

java/org/apache/coyote/http11/Constants.java:56 和 java/org/apache/coyote/ajp/Constants.java:236 均改为:

ByteChunk.convertToBytes("Server: jufukeji" + CRLF);

输出 Header:

HTTP/1.1 200 OK

Server: jufukeji

ETag: W/"7857-1216684872000"

Last-Modified: Tue, 22 Jul 2008 00:01:12 GMT

Content-Type: text/html

Content-Length: 7857

Date: Mon, 12 Jan 2009 16:30:44 GMT

7. JBoss 5.0.0 GA

a. tomcat/src/resources/web.xml:40 改为

jufukeji

b. 下载 JBoss Web Server 2.1.1.GA srctar (http://www.jboss.org/jbossweb/downloads/jboss-web/)

java/org/apache/coyote/http11/Constants.java:56 和 java/org/apache/coyote/ajp/Constants.java:236 均改为:

ByteChunk.convertToBytes("Server: jufukeji" + CRLF);

将编译所得 jbossweb.jar 覆盖 JBoss 编译输出文件:

JBOSS_SRC/build/output/jboss-5.0.0.GA/server/all/deploy/jbossweb.sar/jbossweb.jar

JBOSS_SRC/build/output/jboss-5.0.0.GA/server/standard/deploy/jbossweb.sar/jbossweb.jar

JBOSS_SRC/build/output/jboss-5.0.0.GA/server/default/deploy/jbossweb.sar/jbossweb.jar

JBOSS_SRC/build/output/jboss-5.0.0.GA/server/web/deploy/jbossweb.sar/jbossweb.jar

输出 Header:

HTTP/1.1 200 OK

Server: jufukeji

X-Powered-By: jufukeji

Accept-Ranges: bytes

ETag: W/"1581-1231842222000"

Last-Modified: Tue, 13 Jan 2009 10:23:42 GMT

Content-Type: text/html

Content-Length: 1581

Date: Tue, 13 Jan 2009 10:30:42 GM
本文出自 “王伟” 博客,请务必保留此出处http://wangwei007.blog.51cto.com/68019/600113
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: