欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP彩蛋信息介绍和阻止泄漏的方法(隐藏功能)_php技巧

程序员文章站 2022-04-27 15:41:42
...
Easter Eggs(复活节彩蛋)外行人估计不了解这是神木玩意,彩蛋的网络解释是:用于电脑、电子游戏、电脑游戏、影碟或其他互动多媒体之中的隐藏功能或信息。PHP包含一个安全漏洞,可能导致未经授权的信息披露,如果你正在运行PHP,就有可能会被人发现PHP版本和其他敏感信息。我觉得有必要解决这个彩蛋问题来确保你网站的安全性。

PHP彩蛋是如何运作的

只要运行PHP的服务器上,访问任何网页都可以在域名后添加以下字符串来查看信息:

复制代码 代码如下:

?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000 (PHP信息列表)
?=PHPE9568F34-D428-11d2-A769-00AA001ACF42 (PHP的LOGO)
?=PHPE9568F35-D428-11d2-A769-00AA001ACF42 (Zend LOGO)
?=PHPE9568F36-D428-11d2-A769-00AA001ACF42 (PHP LOGO 蓝色大象)

当然,如果漏洞存在才可以通过以上来查看到信息,现在一般网站都已经屏蔽了。但如果存在说明其expose_php是启用状态,PHP将生成页面发送出PHP版本信息,这样一些”坏人”就知道了你的版本号来利用已知的版本漏洞来进行攻击。

如何阻止彩蛋

一般情况下如果你的服务器支持编辑php.ini文件,我们可以把php.ini里的expose_php设为Off就可以屏蔽了。如果你不能操作php.ini文件,也可以通过设置.htaccess来进行屏蔽。

复制代码 代码如下:

RewriteCond %{QUERY_STRING} \=PHP[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12} [NC]
RewriteRule .* - [F]

通过以上两种方法,我们可以屏蔽一些PHP信息,一些服务器默认设置expose_php是开启的,所以来看我这篇文章的朋友们最好是把它关闭了。

Really appreciate it Jeff Starr‘s post expose_php, Easter Eggs, and .htaccess.

示例:

复制代码 代码如下: