Узнать какой скрипт рассылает спам на сайте

Если у вас на сайте / на сервере появился скрипт, который отсылает слишком много электронных писем а-ля спам, то вы можете его отследить с помощью пары строчек специальных настроек в файле php.ini.

К слову стоит особо подчеркнуть, что просто так ничего не появляется на сайтах. Комплексно ищите веб-шеллы, ищите причины взлома и т.п. Просканируйте сайт на наличие вирусов специальным программным обеспечением. Но давайте все же вернемся к теме заметки…

Пропишите в php.ini:

    mail.add_x_header = On
    mail.log = /var/www/pMMMMMMM/data/logs/php_mail_report.log

Так же эти значения можно прописать в .htaccess:

php_value mail.add_x_header 1
php_value mail.log DocumentRoot mail.log

Логи вызова функции mail() (для текущего примера) будут собираться в каталоге /var/www/pMMMMMMM/data/logs, в файле php_mail_report.log. Выглядеть последние будут вот так:

ПОЛЕЗНО  Заменить первый символ в строке

Узнать какой скрипт рассылает спам на сайте

Важно! Работать такой способ логирования отправки писем будет с PHP 5.3 и старше. Узнать версию PHP вы можете с помощью функции phpinfo().

Поскольку уже несколько раз на хостинге клиента пхп работал как fast-cgi, то можно добавить проверку на подключение php как модуля apache. И тогда не будет белого экрана или ошибки 500

<IfModule mod_php5.c>
php_value mail.add_x_header 1
php_value mail.log DocumentRoot mail.log
</IfModule>