Секреты PHP

Многие, кто только начало писать на php, не знают что если добавить вот такой код к адресу вебстраницы (естественно вебстраница должна быть на php) ?=PHPE9568F36-D428-11d2-A769-00AA001ACF42 то отобразится достаточно забавная картинка. Эта картинка может быть разной. Она зависит от программного обеспечения сервера. К примеру тут , а ещё может быть вот такой вариант. Есть ещё несколько вариантов которые могут быть.

Вот возможные варианты:




Так как эти картинки зависят от некоторого серверного ПО, то по ним можно узнать некоторую информацию.

К примеру можно определить версию интерпретатора php , вот такая вот картинка означает 5 версию PHP :

Картинка с рыжей собакой означает 4 версию интерпретатора. Картинка с патлатой собакой отображается только под Unix и может обозначать как 4 так 5 версию интерпретатора(от версии 4.3.11 до 5.1.2). Кролик может быть только в версиях 4.3.1, 5.0.0, 5.0.3 .

Также есть и другие коды для других картинок. К примеру ?=PHPE9568F34-D428-11d2-A769-00AA001ACF42 выведет лого PHP, эта картинка используется при генерации страницы phpinfo(). Вот этот код ?=PHPE9568F35-D428-11d2-A769-00AA001ACF42 отображает версию Zend Engine (по нему можно узнать 5 или 4 версия пхп ,так как в 4 версии используется первая версия Zend Engine — а в 5 вторая) она тоже используется в phpinfo.

И наконец вот это ?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000 отображает разработчиков, ссылка на него есть в странице phpinfo , также его генерирует функция phpcredits.

Все эти коды описаны в исходниках:

#endif /* HAVE_CREDITS_DEFS */
 
#define PHP_LOGO_GUID		  "PHPE9568F34-D428-11d2-A769-00AA001ACF42"
#define PHP_EGG_LOGO_GUID	"PHPE9568F36-D428-11d2-A769-00AA001ACF42"
#define ZEND_LOGO_GUID		"PHPE9568F35-D428-11d2-A769-00AA001ACF42"
#define PHP_CREDITS_GUID  "PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000"
 
BEGIN_EXTERN_C()

Это файл php/ext/standart/info.h, сами же эти картинки представлены в виде масива в файле php/main/logos.h .

static const unsigned char php_logo[] = {
	 71,  73,  70,  56,  57,  97, 120,   0,  67,   0, 
	230, 106,   0, 127, 130, 184,  57,  55,  71,  40, 
	 37,  42, 204, 205, 226, 161, 164, 203, 211, 213, 
	231, 178, 180, 212,  67,  66,  88, 131, 134, 185, 
	.................................................................
	  1,   0,  59,   0 };

Для того чтобы эти «секреты» нельзя было увидеть таким образом можно в php.ini поставить expose_php = off или в .htaccess — php_flag expose_php Off. Это также отключит отображении этих картинок и ссылок на них в phpinfo и заголовок X-Powered-by: PHP. Также их можно поменять отредактировав исходник php или с помощью mod_rewrite. Также если ваш хостинг не позволяет вам менять значения конфигурационных переменных php вы можете отключить их отображение с помощью mod_rewrite. Именно по этим причинам эти картинки отобразятся не на всех сайтах.

Запись опубликована в рубрике Программирование с метками . Добавьте в закладки постоянную ссылку.

2 комментария: Секреты PHP

  1. IIIypuk говорит:

    Весело, не знал.

  2. Johann говорит:

    У меня вышел сиреневый слон на Ampps))

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>