zakon
Новичок
запрет СПАМа через mail injecting
Через одну из форм обратной связи производится рассылка спама.
Путем анализа логов удалось найти дырявую форму, а точнее php-функцию.
Просмотрев все результаты поиска по www.phpclub.ru (поиск: "mail inject"), проблему решить
не удалось, т.к. там вопрос решается спорно и вообще решается ли...
Взгляните, пожалуйста, на скрипт валидации адреса и если видны очевидные
баги, то дайте рекомендации.
Может нужно проверять не только поле обратного адреса, но и остальные?
Скорее всего спамеры подставляют в одно из полей форы что-то вроде:
Как четко проверить наличие знаков переноса строки в переменной?
Через одну из форм обратной связи производится рассылка спама.
Путем анализа логов удалось найти дырявую форму, а точнее php-функцию.
Просмотрев все результаты поиска по www.phpclub.ru (поиск: "mail inject"), проблему решить
не удалось, т.к. там вопрос решается спорно и вообще решается ли...
Взгляните, пожалуйста, на скрипт валидации адреса и если видны очевидные
баги, то дайте рекомендации.
PHP:
if (eregi("^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$", $customer_email) &&
preg_match("(\n|\r)",$customer_email))
Скорее всего спамеры подставляют в одно из полей форы что-то вроде:
PHP:
"TO:mail1\nCC:mail2,mail3"
