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.
示例:
復制代碼 代碼如下:
http://wowo.haotui.com/space.php?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000
http://en.wikipedia.org/w/index.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42
http://www.zend.com/en/index.php?=PHPE9568F35-D428-11d2-A769-00AA001ACF42