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

yipeiwu_com6年前PHP代码库

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.

示例:

复制代码 代码如下:

相关文章

在PHP中养成7个面向对象的好习惯

在 PHP 编程早期,PHP 代码在本质上是限于面向过程的。过程代码 的特征在于使用过程构建应用程序块。过程通过允许过程之间的调用提供某种程度的重用。 但是,没有面向对象的语言构造,程序...

有关PHP中MVC的开发经验分享

一、入口 入口文件可以是单文件也可以是多文件,我现在用的基本属多文件,但是入口文件内容基本都是一样,为以后的修改其它的入口方式做基础, 复制代码 代码如下: <?php requi...

PHP简单实现断点续传下载的方法

本文实例讲述了PHP实现断点续传下载的方法。分享给大家供大家参考。具体如下: $fname = 'http://XXXX/MMLDZG.mp3'; $fp = fopen($fnam...

PHP面向对象多态性实现方法简单示例

本文实例讲述了PHP面向对象多态实现方法。分享给大家供大家参考,具体如下: 多态:父类引用指向子类对象(面向对象中能够根据使用类的上下文(使用输入不同的类调用不同类的方法)来重新定义或改...

深入解析PHP的Yii框架中的event事件机制

事件 事件可以将自定义代码“注入”到现有代码中的特定执行点。附加自定义代码到某个事件,当这个事件被触发时,这些代码就会自动执行。例如,邮件程序对象成功发出消息时可触发 messageSe...