PHP: определить, какой скрипт вызывает header();

Я пытаюсь найти вредоносное ПО, вызывающее перенаправление на веб-сайт. Скорее всего, он использует заголовок («местоположение: ...»), поэтому мне интересно, есть ли способ определить, какой файл сценария вызывает заголовок ()

Любая помощь приветствуется


person Nasko    schedule 23.01.2012    source источник
comment
Это также может быть перенаправление на стороне клиента. Если нет, то ищите вызовы header(), eval(), все, что может позволить кому-то запустить вредоносный код.   -  person Cyclone    schedule 23.01.2012
comment
Ищите перенаправления в .htaccess. Их обычно эксплуатируют. Используйте grep -R для поиска строки из командной строки.   -  person Marcus Adams    schedule 23.01.2012
comment
уже очистил код, который был запущен через eval() и тому подобное, но он продолжает перенаправлять... поэтому я сейчас пытаюсь найти код, ответственный за это...   -  person Nasko    schedule 23.01.2012


Ответы (1)


Если вы говорите о функции «header()», вы можете использовать функцию debug_backtrace. http://ca2.php.net/debug_backtrace. Это позволит вам получить трассировку стека, и вы сможете просто проанализировать ее и сохранить в файл или базу данных. Просто поместите debug_backtrace в функцию header() и запишите свои данные.

Если вы говорите о том, откуда на сайте вы получаете доступ, вы можете просто сохранить в файле или таблице базы данных $_SERVER['REQUEST_URI'], который поможет вам узнать, с какого URL-адреса вы получаете подключение.

Наконец, вы также можете использовать $_SERVER['HTTP_REFERER'], если он был передан навигатором, это позволит вам узнать, с какой страницы вы пришли, когда был сделан запрос, что действительно может помочь определить, как вы пришли к включению этого заголовок неправильный.

Удачи

person Mathieu Dumoulin    schedule 23.01.2012