隐藏Nginx或Apache以及PHP的版本号的方法

5年以前  |  阅读数:524 次  |  编程语言:PHP 

当黑客入侵一台服务器时,首先会"踩点", 这里的"踩点",指的是了解服务器中运行的一些服务的详细情况,比如说:版本号,当黑客知道相应服务的版本号后,就可以寻找该服务相应版本的一些漏洞来入侵,攻击,所以我们需要隐藏这些版本号来避免一些不必要的问题

我们来测试一下


    insoz:~ insoz$ curl -I http://127.0.0.1/phpinfo.php
    HTTP/1.1 200 OK
    Server: nginx/1.5.0
    Date: Thu, 18 Jun 2015 02:39:32 GMT
    Content-Type: text/html
    Connection: keep-alive
    Vary: Accept-Encoding
    X-Powered-By: PHP/5.3.1

可以看到我们的服务器nginx和php版本都暴露了. 下面我们来看隐藏的方法

首先来看nginx中隐藏版本号的方法:
在nginx配置文件nginx.conf中,加入以下代码


    server_tokens off;

apache中隐藏版本号的方法:
在apache配置文件httpd.conf中,加入以下代码


    ServerTokens Prod
    ServerSignature Off

再来看php中隐藏版本号的方法:
在php配置文件php.ini中,加入以下代码


    expose_php = Off

好了,修改完毕重启服务,我们再来测试一下:


    insoz:~ insoz$ curl -I http://127.0.0.1//phpinfo.php
    HTTP/1.1 200 OK
    Server: nginx
    Date: Thu, 18 Jun 2015 02:41:47 GMT
    Content-Type: text/html
    Connection: keep-alive
    Vary: Accept-Encoding
 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例