Как защитить форму от спама
Сначала посмотрите, есть ли спам вообще: капча «на всякий случай» снижает число настоящих заявок. Если спам пошёл — начните с незаметных для человека способов защиты, а видимую проверку добавляйте только если они не справились.
По возрастанию неудобства для клиента
- Скрытое поле-ловушка, которое заполняют только программы.
- Проверка времени заполнения: форма, отправленная за секунду, почти наверняка не от человека.
- Незаметная капча, которая срабатывает только при подозрительном поведении.
- Обычная капча с заданием — крайняя мера.
Откуда он берётся
Программы обходят сайты подряд и заполняют все найденные формы — им безразлично, чем вы занимаетесь. Такой спам приходит пачками, часто по несколько штук за минуту, с бессмысленным текстом или ссылками. Второй тип — рассылки предложений услуг, отправленные людьми вручную. Они выглядят осмысленно и капчей не отсекаются в принципе.
Различать их важно, потому что лечатся они по-разному. От первого помогают технические ловушки, от второго — фильтр по содержимому или просто привычка удалять. Ставить сложную проверку всем посетителям ради двух писем в неделю — плохой обмен.
Чем платите за защиту
Каждый лишний шаг снижает число отправок. Видимая капча с заданием отсекает заметную долю обращений, особенно с телефонов, где по мелким картинкам сложно попасть. Поэтому решение принимают сравнением: сколько спама приходит и сколько настоящих заявок вы готовы за это отдать.
Уточняющие вопросы
Что поставить, если спама пока нет?
Скрытое поле-ловушку: человек его не видит, а программы заполняют. Оно ничего не стоит посетителю и отсекает самый примитивный автоматический спам.
Помогает ли обязательная проверка телефона?
Заметно: большинство автоматических отправок не проходят проверку формата. Плюс это отсекает опечатки в номерах у настоящих клиентов — двойная польза.
Стоит ли ставить подтверждение по SMS?
Только если спама очень много и он дорого обходится. Для обычного сайта услуг это чрезмерный барьер: часть людей не станет ждать код ради заявки.