最新消息:

隐藏 HTTP 响应头中 Server 和 X-Power-By 信息

其他技术 koic_zhzz 137浏览 0评论

在浏览网页时,通过开发者工具可以查看一些 HTTP 传输时的信息,比如说响应头部的信息。

一些网站的 Response Headersb 部分会有 Server 和 X-Powered-By 数据项的值,通过这些值我们可以得到部分信息。比如说使用的 Nginx 1.17.3 版本,以及使用了 PHP 7.3.10 语言。暴露这些信息可能会对网站的安全性有影响,所以很多的网站都会隐藏这些信息。
接下来介绍一下如何隐藏或修改这些信息,很简单的几步就可以实现了!

关闭 X-Powered-By:

在 php.ini 中找到 expose_php 选项,将值修改为 Off 即可隐藏。

隐藏 Nginx 版本号:

在 Nginx 配置文件中加入即可

修改完后重启 Nginx 和 PHP-FPM

X-Powered-By 数据项未展示,Server 数据项的值为 nginx。
如果想将 server 的值进行自定义,需要在编译的时候进行配置,这里就不介绍了。

清除 thinkphp跟php的 X-Powered-By

找到文件,
ThinkPHP/Lib/Think/Core/View.class.php。
搜索到一下代码屏蔽即可。
header(‘X-Powered-By:ThinkPHP’);

PHP清除X-Powered-By: PHP/5.2.4

设置php.ini ,expose_php = Off。

 

由php生成的html代码,默认会在 http协议的头部给出,php的版本号信息。处于安全的目的,需要把php的版本号给隐藏掉。删除php版本号,仅仅需要修改一个配置选择就可以。expose_php = On , expose 顾名思义就是暴露的意思,默认是开启的,关闭即可。

默认的情况,会在http协议的头部增加 X-Powered-By:PHP/x.x.x

隐藏 HTTP 响应头中 Server 和 X-Power-By 信息-1

php默认输出的版本号

php配置文件中,关于是否暴露版本号的描述。

; Decides whether PHP may expose the fact that it is installed on the server

; (e.g. by adding its signature to the Web server header). It is no security

; threat in any way, but it makes it possible to determine whether you use PHP

; on your server or not.

; http://php.net/expose-php

expose_php = On

翻译过来意思是说, 决定是否暴露你的服务器上是否安装了php, (例如会在web服务的头部增加一个签名),增加这个签名是没有任何安全问题的,同时可以告诉你,你的php是否正常运行。

修改的方法 修改php.ini 中的

;expose_php = On

expose_php = Off

隐藏php版本号的其他方法

在php中php-fpm的pool配置文件中设置

php_admin_flag[expose_php] = off

这种方法灵活性更强一些, 如果php同时有多pool 可以进行更细致的设置,就是部分poll设置,部分不设置。

 

转载请注明:落伍老站长 » 隐藏 HTTP 响应头中 Server 和 X-Power-By 信息

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址