虽然很难做到绝对防御,但是我们需要做的就是提供攻击的成本。
对web服务器nginx和php的版本信息进行隐藏,也是其中一步,防一手针对特定版本进行攻击。
隐藏前

可以看到,nginx的版本为1.9.9 php版本是7.0.2
隐藏nginx版本信息
在nginx的配置文件,nginx.conf中,在http{ }模块内加入这个配置
server_tokens off;隐藏PHP版本信息
修改 php 配置文件 php.ini 中的 expose_php 配置,改为off
expose_php = Off效果
重启nginx,如果使用php-fpm也得重启php-fpm, 我的 service php-fpm restart

最后
要隐藏apache的版本信息的话,可以在配置文件httpd.conf下加入以下两行。
ServerTokens ProductOnly
ServerSignature Off内容参考这里的:隐藏Nginx或Apache以及PHP的版本号的方法 - leonisliu