Как защитить сайт от ботов?
Юрий, Тольятти 0
В форме обратной связи на сайте за неделю накопилось штук тридцать одинаковых спам-заявок с левыми ссылками. Явно не люди писали. Как это остановить, не отпугнув реальных клиентов капчей на каждой форме?
Дмитрий Акиндинов технический администратор сайтов
ответил
Против простых ботов, которые массово рассылают спам через формы, хорошо работает скрытое honeypot-поле: невидимое обычному человеку поле, которое боты заполняют автоматически, а заявки с заполненным полем сервер молча отбрасывает. Это не требует капчи и не мешает живым посетителям, а закрывает большую часть автоматического спама.
Если honeypot не справляется, следующий шаг — ограничение частоты запросов (rate limiting) на уровне сервера или хостинга: не больше нескольких отправок формы с одного IP-адреса в минуту. Боты обычно бьют часто и с одних и тех же адресов, а обычный посетитель отправляет форму один раз.
Капчу стоит включать точечно, только на формах, где спам реально мешает, а не на весь сайт сразу. В качестве замены Google reCAPTCHA, которая в России иногда грузится с задержкой, можно использовать Яндекс SmartCaptcha или Cloudflare Turnstile — они меньше раздражают пользователей и не требуют разгадывать картинки.
Отдельная категория ботов — не спамеры из форм, а автоматические сканеры, которые перебирают уязвимости в CMS и плагинах. От них защищает не капча, а актуальность: обновлённое ядро WordPress или Битрикса, свежие версии плагинов и смена стандартных путей входа в админку с «/wp-admin» на нестандартный. Если бот-трафик создаёт заметную нагрузку на сервер, а не только спам в форме, имеет смысл подключить Cloudflare с базовой защитой от ботов на уровне DNS, это бесплатно на старте и не требует переезда хостинга.
Задать свой вопрос
Вопросы проходят модерацию. Ответ появляется на сайте в течение пары дней.
Вопрос отправлен. После проверки он появится на сайте вместе с ответом.
Вопрос не отправлен: нужно подтвердить согласие на обработку персональных данных.