чудо{вищные} заметки

Sorry for my terrible english. My native language is PHP.

Sendmail & shared hosting

Суть проблемы — на хостинге много пользователей (сайтов) и один 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: , , , ,

Реклама

Март 13, 2006 - Posted by | DailyWTF, dev, fun, penguin-sex, unix, web

5 комментариев »

  1. А нельзя ограничить кол-во исходящих писем в sendmail от одного юзера в единицу времени? :)

    комментарий от adminlab | Сентябрь 15, 2006

  2. скорее всего можно(если это был вопрос, то точного ответа я не знаю ;o) )

    Смысл вышеописаного врапера не поразить в правах владельцев сайтов, а свести на нет работу spam-ботов и заодно собрать статистику о них ;o) (кто таков? куда шлёшь? что шлёшь? сигнатуры и т.п.)

    комментарий от MiRacLe | Сентябрь 15, 2006

  3. много думал ;o)
    Ограничить нельзя.
    Так-как юзер-то один — apache (издержки mod_php) так что вот…

    комментарий от MiRacLe | Сентябрь 20, 2006

  4. Тоже мучаюсь со схожей проблемой — 5 дней назад сильно возрос объем лог-файлов почтового сервера. Стал разбираться и выяснил что идёт куча коннектов с localhost на отправку, видимо либо php либо perl либо ещё что-то. На сервере штук 20 сайтов, запускается всё от одного юзера, поэтому выяснить виновника через “-fshell_user_name” не получится. Но враппер на php я думаю поможет вычислить виновника. У тебя он уже написан, можешь поделиться его исходником, если не сложно? Вышли пожалуйста на мыло murznn собака gmail.com.
    Заранее премного благодарен!

    комментарий от Murz | Январь 25, 2008

  5. Нашёл в интернете другой вариант реализации PHP-враппера для sendmail, нашёл тут: http://gregmaclellan.com/blog/sendmail-wrapper/
    Заработал нормально, поставил у себя и сижу жду виновников рассылок ;)

    комментарий от Murz | Январь 25, 2008


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

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: