Откуда берётся спам
Боты находят формы автоматически: перебирают сайты и отправляют в каждую форму ссылки, рекламу или просто случайный текст. Цель разная: продвинуть чужой сайт, разослать вирус, проверить, как работает ваша почта. На небольших сайтах без защиты спам появляется уже через несколько недель после запуска.
Почему не reCAPTCHA
Это сервис Google: его скрипты грузятся с зарубежных серверов, в России работают нестабильно и передают данные посетителей за рубеж. Подробнее — в статье об иностранных сервисах. Кроме того, картинки со светофорами раздражают живых людей и снижают число заявок.
Невидимые способы
- Поле-ловушка: скрытое от людей поле, которое заполняют боты. Заполнено — заявку молча отбрасываем.
- Ограничение частоты: не больше нескольких заявок с одного адреса за десять минут.
- Отсев повторов: одинаковая заявка дважды подряд не отправляется.
- Проверка на сервере: пустые и бессмысленные поля отклоняются до отправки менеджеру.
Поле-ловушка работает просто. Рядом с обычными полями в код добавляют ещё одно, которое скрыто стилями и не видно человеку. Бот заполняет все поля подряд, включая это, и по заполненному полю его легко опознать.
Если спама всё равно много
Тогда нужна капча, но российская. Яндекс SmartCaptcha работает из России и в большинстве случаев пропускает человека без задания, а сложную проверку показывает только подозрительным посетителям. Подключайте её как дополнение к невидимым мерам, а не вместо них.
Чего не делать
- Не ставить капчу «на всякий случай» — она отсекает и живых людей.
- Не проверять только в браузере: бот отправит запрос напрямую на сервер.
- Не показывать боту, что его поймали, — пусть думает, что всё отправилось.
Как понять, что защита работает
- Сравните число заявок до и после: настоящие обращения не должны пропасть.
- Раз в неделю отправляйте тестовую заявку вручную и убедитесь, что она дошла.
- Смотрите журнал отброшенных обращений: если там заметны живые люди, защита слишком строгая.
На нашем сайте работают ловушка, ограничение частоты и отсев повторов. Капчи нет — и спама тоже практически нет.
Про то, как сделать форму удобной, — в статье о форме заявки.