php

位置:IT落伍者 >> php >> 浏览文章

隐藏apache和php的版本信息配置方法


发布日期:2023年05月27日
 
隐藏apache和php的版本信息配置方法

隐藏apache和php的版本信息web server避免一些不必要的麻烦可以把apache和php的版本信息不显示

隐藏 Apache 版本信息

/etc/apache/apacheconf 或 /etc/

ServerTokens ProductOnly
ServerSignature Off

重启 apache
现在 http 头里面只看到:
Server: Apache

隐藏 PHP 版本
phpini

expose_php On
改成
expose_php Off

重启apache后php版本在http头中隐藏了

详解

为了防止某些别有用心的家伙窥视我们的服务器应该做些什么
我们来看一下相关的个参数分别为ServerTokens和ServerSignature通过控制这个阀门应该就能起到一些作用比如我们可以在配置文件中这么写
ServerTokens Prod
ServerSignature Off

ServerTokens
用于控制服务器是否相应来自客户端的请求向客户端输出服务器系统类型或内置模块等重要的系统信息 在主配置文件中提供全局控制默认阀值为"Full"(ServerTokens Full)所以如果你的Linux发行版本没有更改过这个阀值的话所有与你的系统有关的敏感信息都会向全世界公开比如RHEL会将该 阀值更改为"ServerTokens OS"而Debian依然使用默认的"Full"阀值
以apache为例阀值可以设定为以下某项(后面为相对应的Banner Header)
Prod >>> Server: Apache
Major >>> Server: Apache/
Minor >>> Server: Apache/
Minimal >>> Server: Apache/
OS >>> Server: Apache/ (Debian)
Full (or not specified) default >>> Server: Apache/ (Debian) PHP/+b mod_ssl/ OpenSSL/b

ServerSignature
控制由系统生成的页面(错误信息mod_proxy ftp directory listing等等)的页脚中如何显示信息

可在全局设置文件中控制或是通过htaccess文件控制
默认为"off"(ServerSignature Off)有些Linux发行版本可能会打开这个阀门比如Debian在默认的虚拟主机上默认将这个阀门设置为开放
全局阀门的阀值会被虚拟主机或目录单位的配置文件中的阀值所覆盖所以必须确保这样的事情不应该发生

上一篇:深入Nginx + PHP 缓存详解

下一篇:PHP工程师面临的成长瓶颈