隐藏 Nginx Apache PHP 版本信息

Eric 杂记 192 次浏览 抢沙发

要知道一个网站运行环境并不难,在 HTTP header 字段信息里就可以看到(用 curl -I 命令),或者用 Wappalyzer 这类浏览器扩展。如果不想这么简单就暴露 Web 服务器软件版本,可以修改配置文件关闭版本信息。

查看 Nginx PHP 软件版本

如上图。默认配置情况下,用 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 再次查看就没有版本号了(可能需要重新打开浏览器查看)。

隐藏Nginx PHP 软件版本

也可以用 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/"

发表评论

电邮地址用于 Gravatar 头像显示,不会被公开可见。