zoukankan      html  css  js  c++  java
  • Nginx_修改Web服务器头信息(Header)里的Server值[转]

    http://blog.rekfan.com/?p=122

    黑客攻击一个网站,往往需要了解服务器的架构,网站的架构等信息,了解了这些信息,就知道网站薄弱的地方在哪里了!
        为了不让对方知道自己的webserver真实环境,我们可以伪装隐藏自己的真实服务器环境.虽然安防不能做到100%,但至少也会让对方焦头烂额.废话不多说了! @_@``

    一. Windows环境

    修改nginx的server信息
        
        1.进入nginx安装目录下,用文本编辑器编辑conf目录下的fastcgi.conf
         
      fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

        2.用文本编辑器编辑conf目录下的fastcgi_params

        fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;

        3.#service nginx restart #重启nginx

    隐藏nginx的server信息

        1.进入nginx安装目录下,用文本编辑器编辑conf目录下的nginx.conf    
        
        #http{}里面加:

        server_tokens off;

      2.#service nginx restart #重启nginx

    二.Linux环境下
        
        同windows 操作一样 ,可能文件名稍有不同,不过本人更改后还是显示Nginx,然后按网上的修改编译src/core/nginx.h ,我们先看下更改前的header信息:

    [root@REKFAN-Server /]# curl -I http://blog.rekfan.com
    HTTP/1.1 200 OK
    Server: nginx
    Date: Fri, 02 Nov 2012 15:25:42 GMT
    Content-Type: text/html
    Content-Length: 612
    Last-Modified: Thu, 01 Nov 2012 18:47:51 GMT
    Connection: keep-alive
    ETag: "5092c3d7-264"
    Accept-Ranges: bytes

    修改后的src/core/nginx.h ,代码如下:

    /*
     * Copyright (C) Igor Sysoev
     * Copyright (C) Nginx, Inc.
     * http://blog.rekfan.com/?p=122
      */

    #ifndef _NGINX_H_INCLUDED_
    #define _NGINX_H_INCLUDED_

    #define nginx_version      1003008
    #define NGINX_VERSION      "1.3.8"
    #define NGINX_VER          "REKFAN/" NGINX_VERSION

    #define NGINX_VAR          "REKFAN"
    #define NGX_OLDPID_EXT     ".oldbin"

    #endif /* _NGINX_H_INCLUDED_ */

    编译Nginx,重新看看结果header信息还是没变!

    最后找到另一个帖子更改src/http/ngx_http_header_filter_module.c文件成功了!

    找到下面两行:
    static char ngx_http_server_string[] = "Server: nginx" CRLF;
    static char ngx_http_server_full_string[] = "Server: " NGINX_VER CRLF;
    将其修改为:
    static char ngx_http_server_string[] = "Server: REKFAN" CRLF;
    static char ngx_http_server_full_string[] = "Server: REKFAN/1.0" CRLF;

    将上面红色修改为你想要显示的信息,重新编译后重新启动下Nginx!

    重新查看header信息:
    [root@REKFAN-Server /]# curl -I http://blog.rekfan.com
    HTTP/1.1 200 OK
    Server: REKFAN
    Date: Fri, 02 Nov 2012 15:30:28 GMT
    Content-Type: text/html
    Content-Length: 612
    Last-Modified: Thu, 01 Nov 2012 18:47:51 GMT
    Connection: keep-alive
    ETag: "5092c3d7-264"
    Accept-Ranges: bytes

    后来发现,当我们添加server_tokens off; 参数的时候,调用的是src/http/ngx_http_header_filter_module.c里的值
    不添加的时候,显示版本号调用的是src/core/nginx.h里的值,所以我们修改的时候尽量两个地方都修改!

  • 相关阅读:
    form表单中有bootstrap-switch时怎么提交表单
    Django:drf过滤、搜索、排序功能
    pycharm:使用豆瓣源安装第三方库
    pycharm安装包时:Non-zero exit code (1)
    js: 前端通过ajax方式获取后台数据填充下拉列表
    Django:drf框架中序列化组件—字段验证
    ROS Reality: A Virtual Reality Framework Using Consumer-Grade Hardware for ROS-Enabled Robots David
    Virtual and Augmented Reality for Robotics in Unity environment using Mimic plugin
    Human-machine collaboration in virtual reality for adaptive production engineering
    An open modular framework for efficient and interactive simulation and analysis of realistic human motions for professional applications
  • 原文地址:https://www.cnblogs.com/jenqz/p/4913698.html
Copyright © 2011-2022 走看看