Поддержка и абонентское обслуживание

Как защищают форму на сайте от спама и ботов?

Павел, Тюмень 0

У нас на сайте форма обратной связи, и последние пару недель среди заявок регулярно попадается абракадабра вместо имени и ссылки на левые сайты в поле сообщения. Что обычно ставят против такого, чтобы не отпугнуть капчей живых людей?

Дмитрий Акиндинов технический администратор сайтов

ответил

Форму защищают сразу несколькими слоями. Первый — скрытое поле-ловушка (honeypot): невидимое человеку, но заполняемое ботом, которые слепо забивают все поля формы. Второй — ограничение частоты отправок с одного IP, обычно не чаще одной заявки в 30-60 секунд. Третий — проверка данных на сервере, а не только в браузере. Такой связки хватает, чтобы отсечь до 95% автоматического спама без единой капчи.

Ключевой момент с honeypot-полем — спрятать его правильно. Если закрыть через `display: none`, часть ботов это распознает и поле не тронет. Надёжнее сдвинуть поле за пределы экрана через CSS или пометить `aria-hidden`, а на сервере просто отбрасывать любую заявку, где это поле оказалось заполнено.

Серверная проверка нужна отдельно от JavaScript-валидации в браузере: её легко обойти, отправив запрос напрямую, минуя интерфейс. Обработчик на сервере должен заново проверять обязательные поля, экранировать ввод перед сохранением или отправкой на почту и работать только по HTTPS, иначе данные из формы уходят в открытом виде.

Если после этих трёх мер спам всё равно просачивается, добавляют капчу — математический вопрос («сколько будет 3+4») или чекбокс без завязки на внешние сервисы работают почти так же надёжно, как популярные готовые виджеты, и не требуют стороннего JavaScript на странице. Ставить капчу сразу, до простых мер, обычно не нужно: она снижает конверсию формы у части живых посетителей.

Отдельно стоит логировать входящие заявки с IP и временем отправки — это пригодится и для отладки спам-фильтра, и как часть подтверждения согласия на обработку персональных данных по 152-ФЗ, если на сайте есть чекбокс согласия.

Подробный разбор Ошибка 403 Forbidden на сайте: причины и как вернуть доступ

Задать свой вопрос

Вопросы проходят модерацию. Ответ появляется на сайте в течение пары дней.

Похожие вопросы

Все вопросы по теме "Поддержка и абонентское обслуживание"

Заявка

Обсудим задачу

Напишите имя и телефон, выберите удобный канал. Перезвоню или напишу в течение часа в рабочее время.

Куда удобнее ответить?