您的位置:首页 > 运维架构 > Apache

apache和apache2如何隐藏版本信息

2007-08-31 10:04 633 查看
以Apache 2.0.50为例,编辑ap_release.h文 件,修改“#define AP_SERVER_BASEPRODUCT /"Apache/"”为“#define AP_SERVER_BASEPRODUCT /"Microsoft-IIS/5.0/"”。编辑os/unix/os.h文件,修改“#define PLATFORM /"Unix/"”为“#define PLATFORM /"Win32/"”。修改完毕后,重新编译、安装Apache。
  Apache安装完成后,修改httpd.conf配置文件,将“ServerTokens Full”改为“ServerTokens Prod”;将“ServerSignature On”改为“ServerSignature Off”,然后存盘退出。重新启动Apache后,用工具进行扫描,发现提示信息中已经显示操作系统为Windows。

1.3.24版: 
#cd /usr/ports/www/apache13 
#make configure (重要) 
#cd work/apache...(不记得了:-)/src/include 
#ee httpd.h 
修改其中三行,将""中的内容改成你想像的……;-) 
#define SERVER_BASEVENDOR   "Apache Group" 
#define SERVER_BASEPRODUCT  "apache" 
#define SERVER_BASEREVISION "1.3.24" 
#cd ../main/ 
#ee http_main.c 
修改下面这段代码: 
 * Pieces for managing the contents of the Server response header 
 * field. 
 */ 
static char *server_version = NULL; 
static int version_locked = 0;  #将0改为1 
 
/* Global, alas, so http_core can talk to us */ 
enum server_token_type ap_server_tokens = SrvTk_FULL;  #改为SrvTk_MIN 
 
/* 
 * This routine is called when the pconf pool is vacuumed.  It resets the 
 * server version string to a known value and [re]enables modifications 
 * (which are disabled by configuration completion).  
 */ 
static void reset_version(void *dummy) 

    version_locked = 0;   #将0改为1 
    ap_server_tokens = SrvTk_FULL;  #改为SrvTk_MIN 
    server_version = NULL; 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息