Ловушка (honeypot)
Поле формы, невидимое человеку, но заметное автоматике. Заполнено — значит, форму отправила программа.
Приём простой и почти бесплатный. В форму добавляется поле, спрятанное стилями. Человек его не видит и заполнить не может. Скрипт, который заполняет всё подряд, впишет туда значение и на этом выдаст себя.
Три детали, от которых зависит, сработает ли.
Прятать стилями, а не через type="hidden". Авторы ботов давно знают про ловушки и обходят поля со скрытым типом стороной.
Название должно выглядеть настоящим. website, fax, company2 —
да. honeypot — нет.
Добавить aria-hidden и tabindex="-1". Иначе поле увидит
скринридер, и человек со слабым зрением его заполнит. Заблокировать
именно его — худший из возможных исходов.
Ловушка снимает основную массу автоматического спама, но не спасает от целевой атаки на конкретный сайт: там форму изучают руками.
Смежные термины
Подробнее в блоге
- Защита интернет-магазина от ботов: что настроить в первую очередь У магазина больше уязвимых мест, чем у обычного сайта, и больше того, что нельзя ломать. Порядок настройки — шаг за шагом.
- reCAPTCHA, SmartCaptcha и hCaptcha: чем отличаются Три популярных решения и то общее, что их объединяет: платит за проверку посетитель, а не бот. В чём различия и в каких случаях капча всё-таки оправдана.
- Robots.txt не защищает от ботов: разбор заблуждения Самый частый совет в интернете и самый бесполезный. Что robots.txt умеет, чего не умеет и как им можно навредить себе.