在实践中通常需要主动隐藏服务器端软件版本号,防止攻击者通过特定版本号的已知漏洞进行针对性攻击。本文演示如何隐藏Nginx版本号,以及隐藏php版本号。
一. 隐藏Nginx版本号
1.编辑nginx主配置文件
vi /etc/nginx/nginx.conf
2.在 http 模块中增加一行 server_tokens off;
http {
...
server_tokens off;
include /etc/nginx/mime.types;
...
server {}
}
- 重启nginx服务 systemctl restart nginx
二. 隐藏X-Powered-By HTTP头
X-Powered-By HTTP头表示网站是用什么技术开发的,它会泄漏开发语言、版本号和框架等信息,有安全隐患,需要隐藏掉。有以下两种方法:
方法一:在php.ini文件关闭expose_php = On改成expose_php = Off
大约在370行,把expose_php = On 改成expose_php = Off
方法二 :修改nginx配置文件
在fastcgi模式下:
在nginx配置文件添加:fastcgi_hide_header X-Powered-By;
在proxy模式下:
在nginx配置文件添加:proxy_hide_header X-Powered-By;
最后重新加载nginx配置文件,重启php,让配置生效。