`
brucectl
  • 浏览: 177861 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

优化header信息

阅读更多
curl -I yourdomain.com 能看到什么? Server: Apache xxx PHP xxx XXX xxx ,明码实价,一字排开。这是干嘛,卖菜呢?

我们不妨看看 curl -I www.google.com 结果如何:

HTTP/1.1 302 Found
Cache-Control: private
Location: http://sorry.google.com/sorry/?continue=http://www.google.com/
Date: Mon, 12 Jan 2009 06:57:41 GMT
Content-Type: text/html; charset=UTF-8
Server: GFE/1.3
Content-Length: 259

请注意这里 Google 的前端 Web Server 是 GFE/1.3 (Google Front Edge 1.3),至于它具体对应 Apache 1.3.x 还是 Windows 1.3,我们并不知晓。这样就起到了很好的信息隐藏作用,一旦网上发现 Apache 1.3.x 或者 Windows 1.3 的最新漏洞,黑客们并不会直接联想到 GFE/1.3,自然也就不会来多作尝试了。

所以,我们应该把这些不可告人的秘密都隐藏起来,哪怕放一段文字广告(如: [AD: DangDang http://tinyurl.com/2dangdang ][ Your AD Here ][AD: Joyo http://tinyurl.com/2amazon ]),也比卖菜似的一一详细罗列版本要好。


参考解决方案:

1. Lighttpd 1.4.20

src/response.c:108 改为:

buffer_append_string_len(b, CONST_STR_LEN("\r\nServer: [AD: DangDang http://tinyurl.com/2dangdang ][ Your AD Here ][AD: Joyo http://tinyurl.com/2amazon ]"));

输出 Header:
HTTP/1.1 404 Not Found
Content-Type: text/html
Content-Length: 345
Date: Mon, 12 Jan 2009 13:54:02 GMT
Server: [AD: DangDang http://tinyurl.com/2dangdang ][ Your AD Here ][AD: Joyo http://tinyurl.com/2amazon ]


2. Nginx 0.7.30

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

static char ngx_http_server_string[] = "Server: [AD: DangDang http://tinyurl.com/2dangdang ][ Your AD Here ][AD: Joyo http://tinyurl.com/2amazon ]" CRLF;
static char ngx_http_server_full_string[] = "Server: [AD: DangDang http://tinyurl.com/2dangdang ][ Your AD Here ][AD: Joyo http://tinyurl.com/2amazon ]" CRLF;

输出 Header:
HTTP/1.1 200 OK
Server: [AD: DangDang http://tinyurl.com/2dangdang ][ Your AD Here ][AD: Joyo http://tinyurl.com/2amazon ]
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, "[AD: DangDang http://tinyurl.com/2dangdang ][ Your AD Here ][AD: Joyo http://tinyurl.com/2amazon ]");
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: [AD: DangDang http://tinyurl.com/2dangdang ][ Your AD Here ][AD: Joyo http://tinyurl.com/2amazon ]
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, "[AD: DangDang http://tinyurl.com/2dangdang ][ Your AD Here ][AD: Joyo http://tinyurl.com/2amazon ]");
return;

输出 Header:
HTTP/1.1 200 OK
Date: Mon, 12 Jan 2009 14:28:10 GMT
Server: [AD: DangDang http://tinyurl.com/2dangdang ][ Your AD Here ][AD: Joyo http://tinyurl.com/2amazon ]
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 = "[AD: DangDang http://tinyurl.com/2dangdang ][ Your AD Here ][AD: Joyo http://tinyurl.com/2amazon ]";

输出 Header:
HTTP/1.0 400 Bad Request
Server: [AD: DangDang http://tinyurl.com/2dangdang ][ Your AD Here ][AD: Joyo http://tinyurl.com/2amazon ]
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' ([AD: DangDang http://tinyurl.com/2dangdang ][ Your AD Here ][AD: Joyo http://tinyurl.com/2amazon ])
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: [AD: DangDang http://tinyurl.com/2dangdang ][ Your AD Here ][AD: Joyo http://tinyurl.com/2amazon ]" + CRLF);

输出 Header:
HTTP/1.1 200 OK
Server: [AD: DangDang http://tinyurl.com/2dangdang ][ Your AD Here ][AD: Joyo http://tinyurl.com/2amazon ]
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 改为

[AD: DangDang http://tinyurl.com/2dangdang ][ Your AD Here ][AD: Joyo http://tinyurl.com/2amazon ]


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: [AD: DangDang http://tinyurl.com/2dangdang ][ Your AD Here ][AD: Joyo http://tinyurl.com/2amazon ]" + 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: [AD: DangDang http://tinyurl.com/2dangdang ][ Your AD Here ][AD: Joyo http://tinyurl.com/2amazon ]
X-Powered-By: [AD: DangDang http://tinyurl.com/2dangdang ][ Your AD Here ][AD: Joyo http://tinyurl.com/2amazon ]
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
分享到:
评论

相关推荐

    网站性能优化(与“文件”有关的文档共40张).pptx

    在发送HTTP请求时,优化Header信息也能减少不必要的数据传输,减轻服务器负载。同时,服务器端的数据库查询和缓存策略也会影响性能。 文件优化方面,可以采用Gzip压缩技术来减小JS、CSS和HTML文件的大小,删除不必...

    JSP获取HTTP header信息(request)例子

    ### JSP获取HTTP Header信息(Request)详解 在Web开发中,了解如何获取HTTP请求头信息是非常重要的,因为这些信息能够帮助我们更好地理解客户端环境、优化响应策略以及进行安全性检查等。下面将详细介绍JSP中如何...

    header和meta头部信息

    这篇博文链接指向的是一个关于`header`和`meta`头部信息的讨论,虽然具体内容无法直接提供,但从一般意义上,我们可以深入探讨这两个关键元素的作用、用途以及相关知识点。 `<header>` 标签: 1. **定义页面头部**...

    elasticsearch-header插件

    Elasticsearch Header 是一个专为 Elasticsearch 客户端设计的插件,它基于 Node.js 运行,旨在增强和扩展ES客户端的功能,特别是对于用户界面和交互方面提供了更丰富的头部信息支持。在本文中,我们将深入探讨该...

    header()函数使用说明

    了解`header()`函数的使用对于优化网站性能和实现特定功能至关重要。 ### 一、`header()`函数的作用 `header()`函数的基本用途是通过HTTP协议发送指令到浏览器,指导浏览器如何解析和处理网页。HTTP协议本身定义了...

    Header Editor

    "Header Editor" 插件让用户能够自由添加、修改或删除这些头信息,以满足特定需求。 1. **添加请求头**:当你需要在请求中携带特定的令牌、Cookie或其他自定义信息时,"Header Editor" 可以方便地添加这些额外的头...

    UITableView的SectionHeader的复用

    总的来说,UITableView的SectionHeader复用机制是iOS开发中优化表格性能的重要手段。通过合理利用这个机制,开发者可以在保证用户体验的同时,有效地管理内存资源,降低应用的负载。正确理解和应用这些知识点,对于...

    Altair SimSolid:优化设计与拓扑优化技术教程.Tex.header.docx

    Altair SimSolid:优化设计与拓扑优化技术教程.Tex.header.docx

    风吟PHP HTTP Header 信息检测.rar

    总之,这个“风吟PHP HTTP Header 信息检测”工具是一个实用的开发辅助,结合cURL库,可以帮助开发者深入理解HTTP交互过程,优化网站性能,以及确保服务器配置的安全性。通过研究和使用提供的“fy-check-header”...

    Pdt_Header.txt

    "Pdt_Header.txt" 文件是DA1458X芯片BootLoader配置的一部分,用于定义和设置BootLoader的头部Header信息。这个文件通常包含了一系列的配置选项和指令,用于指导BootLoader的执行流程。 DA1458X是一款高性能、低...

    伸缩式tableview的headerbar

    在UITableView中,Header View是每个Section的顶部视图,通常用于展示该Section的标题或相关信息。而伸缩式Header Bar则是指在用户滚动TableView时,Header Bar可以动态改变其高度,这种效果常见于地图应用、新闻...

    IIS 7 Header Remover

    总之,IIS 7 Header Remover是一个用于增强服务器安全性的实用工具,通过定制和优化HTTP响应头,它可以帮助管理员隐藏敏感信息,降低服务器被恶意攻击的风险。正确配置和使用这个模块是维护IIS服务器安全的重要措施...

    滑动UITableview 放大tableHeader

    在实际项目中,我们可能还需要考虑其他因素,如性能优化。在大量数据的表格中,频繁调用`scrollViewDidScroll(_:)`可能会带来性能问题。这时,我们可以使用CADisplayLink或者更精确的时机来更新视图状态,避免不必要...

    Altair HyperWorks:OptiStruct结构优化设计教程.Tex.header.docx

    Altair HyperWorks:OptiStruct结构优化设计教程.Tex.header.docx

    swift-BannerHoverView便于构建Header悬停效果

    这种动态效果增强了界面的活力,也使得关键信息始终保持在用户的视野范围内。 在实现BannerHoverView时,主要涉及以下几个关键步骤: 1. **自定义视图类**:创建一个继承自UIView的子类,这个子类就是我们的...

    ExtJS4.0 分享GridHeaderFilters插件

    以上内容只是基于通常使用GridHeaderFilters插件时会遇到的常见知识点,实际博客可能涉及更多细节,如插件的具体用法、示例代码、优化技巧等。如果你需要更深入的理解,建议查看原文博客或查阅ExtJS的官方文档。

    mod header-3.1.27.zip

    5. **性能优化**:例如,通过添加合适的缓存控制头部,可以优化资源加载,提高页面加载速度。 标签为“0”,这可能表示没有特定的分类或者优先级信息,或者是该文件的某种内部标识。 压缩文件内的“modheader-3.1....

    Header Editor 4.1.1

    综合上述信息,我们可以清晰地看到Header Editor 4.1.1不仅仅是一个简单的工具,它是网络通信调试中不可或缺的一环。无论是在Web开发、API测试、还是网络安全领域,这个工具都有着广泛的应用前景。通过CRX文件和PEM...

    CAMWorks加工策略优化教程.Tex.header.docx

    CAMWorks加工策略优化教程.Tex.header.docx

Global site tag (gtag.js) - Google Analytics