BotBan

Ловушка (honeypot)

Поле формы, невидимое человеку, но заметное автоматике. Заполнено — значит, форму отправила программа.

Приём простой и почти бесплатный. В форму добавляется поле, спрятанное стилями. Человек его не видит и заполнить не может. Скрипт, который заполняет всё подряд, впишет туда значение и на этом выдаст себя.

Три детали, от которых зависит, сработает ли.

Прятать стилями, а не через type="hidden". Авторы ботов давно знают про ловушки и обходят поля со скрытым типом стороной.

Название должно выглядеть настоящим. website, fax, company2 — да. honeypot — нет.

Добавить aria-hidden и tabindex="-1". Иначе поле увидит скринридер, и человек со слабым зрением его заполнит. Заблокировать именно его — худший из возможных исходов.

Ловушка снимает основную массу автоматического спама, но не спасает от целевой атаки на конкретный сайт: там форму изучают руками.

Смежные термины

Подробнее в блоге