隐藏 Nginx Apache PHP 版本信息
要知道一个网站运行环境并不难,在 HTTP header 字段信息里就可以看到(用 curl -I
命令),或者用 Wappalyzer 这类浏览器扩展。如果不想这么简单就暴露 Web 服务器软件版本,可以修改配置文件关闭版本信息。
如上图。默认配置情况下,用 Wappalyzer 可以轻易知道 Web 服务器组件及版本信息。
隐藏 Nginx 版本
用 nginx -V
命令查看配置文件路径,--conf-path=/etc/nginx/nginx.conf
这个参数便是。
vi /etc/nginx/nginx.conf
编辑 Nginx 配置文件。在 HTTP 块内加入下面红色参数。
http {
...
sendfile on;
tcp_nopush on;
tcp_nodelay on;
server_tokens off;
...
}
vi /etc/nginx/fastcgi.conf
修改 FastCGI 配置文件,将版本号参数删除(蓝色部分)。
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
如果 php fastcgi 里用的 fastcgi_param,而不是配置文件,则修改 /etc/nginx/fastcgi_params
文件。
nginx -s reload
刷新配置使修改生效。
隐藏 Apache 版本
vi /etc/apache2/conf-enabled/security.conf
修改此文件,将下面两个参数值如下设置。
ServerTokens Prod ServerSignature Off
systemctl restart apache2
重启服务生效。
隐藏 PHP 版本
vi /etc/php.ini
修改配置文件,找到 expose_php
参数,值改为 Off
。
systemctl restart php-fpm
刷新配置生效。
隐藏 WordPress 版本
编辑 functions.php
主题文件,在 after_setup_theme
挂钩内容里加上以下这句即可。
remove_action( 'wp_head', 'wp_generator' );
设置完成,刷新网页用 Wappalyzer 再次查看就没有版本号了(可能需要重新打开浏览器查看)。
也可以用 curl -I 域名网址
命令查看 HTTP header 信息。
返回内容如下:
HTTP/1.1 200 OK Server: nginx Date: Sat, 23 Feb 2019 03:38:16 GMT Content-Type: text/html; charset=UTF-8 Connection: keep-alive Link: <http://example.com/wp-json/>; rel="https://api.w.org/"