PHP 的復活節彩蛋 (Easter Egg) 圖像
阿恆
PHP 解譯器隱藏了四幅圖像和網頁,人們稱為「PHP 的復活節彩蛋 (PHP Easter Egg)」,即是驚喜的意思。我將介紹如何顯示這四幅圖像和網頁,與及它們有甚麼安全性隱憂。
首先,要看到這四幅圖像和網頁,伺服器上 PHP 的設定參數 expose_php
必須是 on
,這正是預設的值。
-
在任何 PHP 頁面的 URL 後面加上
?=PHPE9568F34-D428-11d2-A769-00AA001ACF42
,例如 http://www.php.net/?=PHPE9568F34-D428-11d2-A769-00AA001ACF42,便可以看到 PHP 的標誌。 -
在任何 PHP 頁面的 URL 後面加上
?=PHPE9568F35-D428-11d2-A769-00AA001ACF42
,例如 http://www.php.net/?=PHPE9568F35-D428-11d2-A769-00AA001ACF42,便可以看到 Zend 的標誌。 -
在任何 PHP 頁面的 URL 後面加上
?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000
,例如 http://www.php.net/?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000,便可以看到一個網頁列出開發 PHP 的幕後功臣。 -
最後一個是真正的「復活節彩蛋」,在任何 PHP 頁面的 URL 後面加上
?=PHPE9568F36-D428-11d2-A769-00AA001ACF42
,例如 http://www.php.net/?=PHPE9568F36-D428-11d2-A769-00AA001ACF42,視乎伺服器的 PHP 解釋器版本,會出現以下六幅圖像得其中一幅:
只有最後一個才是真正神秘的「彩蛋」,其他三個可以從 phpinfo() 函式產生的網頁中見到。
安全性隱憂
這四個「復活節彩蛋」只有當伺服器上 PHP 的設定參數 expose_php 為 on 時才見得到,偏偏它的預設值正是 on,很多網站不會更改這個設定,有些黑客會使用這幾個「彩蛋」來測試網站的應用程式是否用 PHP 寫成,然後再想辦法尋找安全漏洞,所以最好還是把這個參數設定為 off。