AjaxForm и борьба со спамом
Добрый день!
Подскажите, как вы боритесь со спамом через ajaxform? Спама не просто много, а очень много. Причем спамеры пробивают форму в лет, сегодня только выкатил новый сайт на новый домен и уже через _час_ прилетело первое письмо со спамом.
Я не делал отдельного шаблона для письма, поэтому форма отправляется как есть и внизу письма всегда идет ID документа, с которого отправлена форма. Так вот в письмах от спамеров ID нет.
Вариант с подключением капчи не рассматриваю. Кто как борется с этой проблемой, у всех много спама или только у меня?
Подскажите, как вы боритесь со спамом через ajaxform? Спама не просто много, а очень много. Причем спамеры пробивают форму в лет, сегодня только выкатил новый сайт на новый домен и уже через _час_ прилетело первое письмо со спамом.
Я не делал отдельного шаблона для письма, поэтому форма отправляется как есть и внизу письма всегда идет ID документа, с которого отправлена форма. Так вот в письмах от спамеров ID нет.
Вариант с подключением капчи не рассматриваю. Кто как борется с этой проблемой, у всех много спама или только у меня?
Комментарии: 6
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Имхо, это дурной тон перекладывать решение своих задач на пользователя (в данном случае заполнение капч). Поэтому хочется найти универсальное решение. Скрытые поля и т.д. тоже не подходят, т.к. если назвать поле как-то экзотично, то боты его не трогают, а если назвать его нормальным именем, то есть риск того, что мы не получим письма от людей, которые воспользуются автозаполнением полей в браузере.
AjaxForm отправляет формы через ajax, точка! Борьба со спамом и проблемы со спамом — это не AjaxForm, а те сниппеты, которые обрабатывают принимаемую форму и шлют письма. Обычно, это FormIt — про него и нужно задавать вопрос.
А то получается сравнение скорости работы getPage против pdoPage, которые просто вызывают другие сниппеты с пагинацией.
Поле email делаете скрытым от пользователя, через стили, но чтобы роботы его точно заметили и заполнили (например через position: absolute;left:-9999999px;).
В проверке на валидность делаете проверку чтобы это поле было пустое
'validate' => 'name:required,email:blank',
а поле с имейлом делаете произвольным именем.