Суть проблемы – на хостинге много пользователей (сайтов) и один apache (с mod_php), а с какого-то аккаунта шлют спам (через формочки, которые есть практически на каждом сайте – типа feedback и т.п.). Где-то это получается удачно (умудряются добавитб заголовок bcc и список из пару сотен (почему-то бразильских) e-mail-ов) где-то не очень и все кракозябрица отправляется в теле письма адресату, указанному в скрипте (который в свою очередь пересылает её нам, с вопросом – “а чО эта такое?”). Надо начинать бороться.
На прошлой неделе решил добавить в php.ini (httpd.conf) параметр mail.force_extra_parameters = “-fshell_user_name”.
Это помогло выявить некоторые кривые скрипты и уведомить авторов(владельцев) о том что пора исправлять ошибки.
Но поскольку этот параметр легко переписывается пятым параметром в функции mail, то всё вычислить не удаёься.
Сегодня пошёл другим путём – написал враппер на php (/usr/sbin/sendmail.php и указал его как sendmail_path в php.ini), который проверяет откуда был запущен sendmail, логирует и отправляет письмо дальше к реальному бинарнику. Это помогло найти проблемные(дырявые) скрипты на сайтах, но не решает проблемы рассылки спама с сайтов.
Сегодня же увидел ещё один метод рассылки – на неком сайте есть “доска объявлений”, после отправки объявления, скрипт отправляет его (объявление) на e-mail “добавляющему”. Ну и кто-то умный и большой фигачит автоматом объявление и меняет адреса… владельцам сайта похоже
пох..всё равно, что там твориться, а спам идёт и идёт…
У меня теперь есть возможность создавать кучу фильтров во враппере и отправлять левые письма в топку /dev/null (например если в тексте встретилось сочетание “bcc: “, но всё-таки интересно как решают подобные проблемы “крупные хостеры” (и решают ли они их). Как например в условиях shared hosting-а (если php установлен как модуль apache) делают лимиты на количество отправляемых писем в час с одного аккаунта ? Как борются со спамерами ? И ещё куча вопросов 🙂 или “крупные” хостеры, ставят php как [fast]cgi и такими проблемами не озадачиваются ? ;o)
Technorati Tags: unix, php, sendmail, mail, dailyWTF
А нельзя ограничить кол-во исходящих писем в sendmail от одного юзера в единицу времени? 🙂
скорее всего можно(если это был вопрос, то точного ответа я не знаю ;o) )
Смысл вышеописаного врапера не поразить в правах владельцев сайтов, а свести на нет работу spam-ботов и заодно собрать статистику о них ;o) (кто таков? куда шлёшь? что шлёшь? сигнатуры и т.п.)
много думал ;o)
Ограничить нельзя.
Так-как юзер-то один – apache (издержки mod_php) так что вот…
Pingback:MiRacLe