Intereting Posts

Как я могу отключить URL-адреса PHP «пасхальное яйцо»?

Недавно я узнал о так называемых «URL-адресах пасхальных яиц» в PHP:

Это четыре строки QUERY, которые вы можете добавить в конец веб-страницы PHP для просмотра (несколько) скрытого изображения или веб-страницы:

  1. ?=PHPE9568F36-D428-11d2-A769-00AA001ACF42

Это самое интересное и отображает изображение «пасхального яйца» либо кролика в доме (кролик Стерлинга Хьюза, по имени Кармелла), коричневая собака в траве, черная собака шотландского терьера, нарисованный, цветной логотип php, цветной карандаш или картофель-фри, торчащий из его рта, как морж, или логотип слона PHP.

введите описание изображения здесь

Другие включают:

  • ?=PHPE9568F34-D428-11d2-A769-00AA001ACF42 (Логотип PHP)
  • ?=PHPE9568F35-D428-11d2-A769-00AA001ACF42 (логотип Zend)
  • ?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000 (PHP Credits)

Я был потрясен, обнаружив, что это работает на многих веб-сайтах, в том числе и на моем. Я думаю, что это идиотка, и вы хотите отключить его, но из того, что я слышу, единственный способ сделать это – в php.ini с expose_php = Off , и он не может быть установлен во время выполнения с помощью ini_set() .

У меня нет прямого доступа к php.ini на реальном сервере. Я, однако, понял, как отключить заголовок X-Powered-By , используя Header unset X-Powered-By в .htaccess или header('X-Powered-By: ') в PHP-коде.

Есть ли другой способ отключить эти «пасхальные яйца», или мне нужно изменить этот параметр в главном php.ini (и это действительно правильный / единственный способ отключить эти URL-адреса)?

Быстрая глобальная переработка HTACCESS может повторно выставлять точную строку прямо из каждого URL, тем самым избавляясь от единственной забавной части PHP, не касаясь ini-файла и не нуждаясь в функции в начале каждого файла.

Не тестировали это еще, но это должно работать:

 RewriteEngine On RewriteCond %{QUERY_STRING} \PHPE9568F36-D428-11d2-A769-00AA001ACF42\ [NC] RewriteRule .* - [F] 

Конечно, просто скопируйте последние 2 строки для каждого из других возможных запросов или напишите более общее регулярное выражение. Мне плохо с регулярным выражением. 🙂

Эта версия охватывает все развлечения в пасхальных яйцах и была найдена здесь:

 RewriteEngine On RewriteCond %{QUERY_STRING} \=PHP[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12} [NC] RewriteRule .* - [F] 

в php.ini

 ; Decides whether PHP may expose the fact that it is installed on the server ; (eg by adding its signature to the Web server header). It is no security ; threat in any way, but it makes it possible to determine whether you use PHP ; on your server or not. ; http://php.net/expose-php expose_php = Off 

Это эффективно удалит пасхальные яйца

Обновление: это удалено в PHP 5.5, обратите внимание, как эти ссылки больше не работают на php.net

http://phpsadness.com/sad/11