关闭PHP Credits和隐藏的GUID图片Logo彩蛋的显示

今天在查询PHP官方手册时有两个函数php_logo_guidzend_logo_guid引起了我的兴趣,其函数原型以及返回内容如下:

string php_logo_guid ( void );
// Returns PHPE9568F34-D428-11d2-A769-00AA001ACF42
string zend_logo_guid ( void );
// Returns PHPE9568F35-D428-11d2-A769-00AA001ACF42

这两个函数返回的以PHPE95..开头字符串,这个字符串有什么用呢?比如php_logo_guid手册举了一个例子:

< ?php
 
echo '<img src="' . $_SERVER['PHP_SELF'] .
     '?=' . php_logo_guid() . '" alt="PHP Logo !" />';
 
?>

如果一切正常的话,页面会输出一个PHP Logo,实际上图片地址存在任意的php页面后跟?=PHPE9568F34-D428-11d2-A769-00AA001ACF42这样的guid串,如果PHP是默认配置的话每个PHP页面都能找到,比如说有index.php,可以尝试访问index.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42,再看一下zend_logo_guid显示的图片,现在有些眼熟了吧,没错这些图片都被phpinfo()输出信息所调用。

我们可以在PHP 源码的 ext/standard/info.h 中找到相关标识图片GUID的定义:

继续阅读“关闭PHP Credits和隐藏的GUID图片Logo彩蛋的显示”