FormIt + AjaxForm = Спамеры пробивают защиту
Добрый день!
На сайте стоит FormIt и AjaxForm, для защиты от спама используется способ, предложенный Ильей Уткиным (вот этот способ).
Все работает, пока спамеры не начинают в скрытое поле вводить цифру «0».
Скажите, как поправить вот этот код, чтобы письмо считалось спамом при вводе любого символа или буквы в скрытое поле?
На сайте стоит FormIt и AjaxForm, для защиты от спама используется способ, предложенный Ильей Уткиным (вот этот способ).
Все работает, пока спамеры не начинают в скрытое поле вводить цифру «0».
Скажите, как поправить вот этот код, чтобы письмо считалось спамом при вводе любого символа или буквы в скрытое поле?
<?php
if ($_POST['input-message']) { // проверяем наше поле на пустоту
echo $AjaxForm->success('Ваше сообщение отправлено.');
die();
} else {
return true;
} Комментарии: 6
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
я делаю такую проверку
А можете про свой метод подробнее рассказать? А то первый способ мне не очень нравится, т.к. возникает куча проблем с автозаполнением форм в браузере и есть большой риск, что нормальные письма могут попасть в спам
вставляете в сниппет и вызываете этот сниппет перед хуком mail в formit?
Там же можно в validate прописать field:blank
Это проверка, что поле должно быть не заполненным.
А насчет автозаполнения. Нужно прописать к скрытому полю autocomplete=«new-password»
Тогда поле не будет автозаполняться
Также пара советов.
Не стоит скрывать стилями само поле.
Лучше обернуть его в блок со стилями вроде width: 0;height: 0;overflow: hidden;
И стоит атрибут name у поля сделать вроде phone или tel, на случай если спамеры проверяют «полезность» поля.