首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

隐藏和伪装Nginx和PHP版本号

前言:我们在使用nginx的时候有时候为了安全的情况下,针对一些版本号进行隐藏;还有一种情况是我们针对脚本语言的编译器版本号隐藏。防止攻击者知道当前的版本号,然后拿漏洞攻击

隐藏Nginx版本号,Nginx的版本号主要在两个地方会有,一个是HTTP header,有个Server:nginx/1.x.x类似会暴露Web服务器所用软件名称以及版本号,这个也是大多数Web服务器最容易暴露版本号的地方,第二个地方是Nginx出错页面,比如404页面没有找到等,这是如果用户没有指定页面的话,那么Nginx自己的页面会有版本戳记。

不过幸运的是对于这两个地方的版本号隐藏,Nginx都提供了简单的办法一步到位,参考server_tokens。通过在配置文件的http节配置server_tokens off来达到我们目的。

Nginx配置

http { # ...省略一些配置 server_tokens off; }

下一步

vim /usr/local/nginx/conf/fastcgi_params 将里面的 fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; 修改为: fastcgi_param SERVER_SOFTWARE nginx; 最后别忘了使用命令nginx -s reload刷新当前配置。。

PHP的版本号

隐藏PHP的版本号,PHP容易暴露的版本号在什么地方呢?其实也是在HTTP头,以类似X-Powered-By: PHP/5.2.11这种形式存在,大家可能会想到会不会是Nginx问题,而去到Nginx里面找相关配置,呵呵,其实这个是在PHP的配置文件php.ini里改动,打开php.ini,找到下面叙述:

exposephp = On

将exposephp = On改为exposephp = Off就搞定了

当然,对于Apache服务器还有另外一个方法可以直接尝试在.htaccess文件中Header unset X-Powered-By,删除X-Powered-By节,不过我还是建议改动php.ini的exposephp。

NGINX源码编译隐藏版本号

伪装Nginx vi /src/core/nginx.h 修改其中:#define NGINX_VERSION “1.0″#define NGINX_VER “GWS/” NGINX_VERSION`重新编译nginx

以上就是伪装Nginx,隐藏Nginx、PHP版本号并提升服务器安全性全部过程。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200429A0UAEQ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券