一、apache隐藏头部信息
apache 的配置文件/etc/apache2/apache2.conf 或 /etc/httpd/conf/httpd.conf有两个配置可以控制是否显示服务器信息给用户。
ServerTokens
ServerSignature
默认条件下会把apache版本 系统 模块都显示出来 (HTTP 返回头)
设置为:
ServerTokens ProductOnly
ServerSignature Off
就隐藏Apache的Apache Version信息。
二、隐藏 PHP 版本
php.ini(/etc/php5/apache2filter/php.ini)
expose_php On
改成
expose_php Off
重启apache后,php版本在http头中隐藏了。
三、ServerTokens 指令
说明: 配置服务器HTTP回应头
语法: ServerTokens Major|Minor|Minimal|ProductOnly|OS|Full
默认值: ServerTokens Full
上下文: 服务器配置
状态: 核心
模块: core
此指令控制了Server回送给客户端的回应头域是否包含关于服务器OS类型和编译进的模块描述信息。
ServerTokens ProductOnly
服务器会发送(比如说):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 (or not specified)
服务器会发送(比如说):Server: Apache/2.0.41 (Unix) PHP/4.2.2 MyMod/1.2
此设置将施用与整个服务器,而且不能在虚拟主机的管理层次上予以启用或禁用。
ServerSignature 指令
说明: 配置服务器生成页面的页脚
语法: ServerSignature On|Off|EMail
默认值: ServerSignature Off
上下文: 服务器配置, 虚拟主机, 目录, .htaccess
覆盖项: All
状态: 核心
模块: core
ServerSignature指令允许您配置服务器端生 成文档的页脚(错误信息、mod_proxy的ftp目录列表、mod_info的输出)。您启用这个页脚的原因主要在于处于一个代理服务器链中时,用户基本无法辨识出究竟是链中的哪个服务器真正产生了返回的错误信息。
默认的Off设定没有错误行(这样便与Apache 1.2及更旧版本兼容)。
采用On会简单的增加一行关于服务器版本和正在伺服的虚拟主机的ServerName,而EMail设置会如文档中说明的那样额外创建一个指向ServerAdmin的”mailto:”部分。