🍯
Безопасность

Honeypot — скрытое поле в форме, ловит ботов и останавливает спам

20.03.2035
← Все статьи

На контактную форму каждый день приходят десятки спам-сообщений? Рекламные ссылки, непонятные тексты, боты с предложениями работы — всё это рассылают автоматические программы. CAPTCHA — один из путей, но она неудобна для пользователя. Honeypot невидим, но для ботов это ловушка.

Как работает honeypot

В форму добавляется обычное поле, например с именем "website" или "phone_number". Это поле скрывается через CSS — display:none или выносится за пределы экрана. Реальный пользователь его не видит и ничего не пишет. Бот же заходит в форму и заполняет все поля — потому что бот слеп, он смотрит на HTML-код, а не на то, что отображается. На сервере проверяете: если скрытое поле заполнено — это бот, отклоняете.

Техническая реализация

В HTML добавьте input: name="website" type="text" tabindex="-1" autocomplete="off". В CSS скройте: position:absolute, left:-9999px или display:none. На стороне PHP при получении POST-запроса первым делом проверьте это поле. Если заполнено — остановите выполнение без ответа или верните "спасибо, ваше сообщение принято" и не делайте ничего. Бот посчитает, что отправка прошла успешно.

Какое имя выбрать

Имя honeypot-поля важно. Боты ищут стандартные имена: email, name, phone, website, url, address. Выберите одно из них — бот сразу заполнит. Не называйте "honeypot" или "trap" — современные боты узнают такие имена и обходят. Лучше всего "website" или "homepage" — эти поля встречаются в реальных формах, бот не заподозрит.

Дополнительные слои защиты

Honeypot работает мощнее в связке с другими методами. Проверка времени: если форма заполнена менее чем за 2 секунды — это бот. JavaScript-токен: при загрузке страницы JS добавляет скрытый токен, сервер проверяет — бот обычно JS не выполняет. IP rate-limit: с одного IP более 3 отправок в минуту — блок.

Сравнение с CAPTCHA

reCAPTCHA и hCaptcha эффективны, но беспокоят пользователя. Кнопка "Я не робот", выбор картинок со светофорами — всё это снижает конверсию на 10-30%. Honeypot невидим, никто не замечает, но останавливает 95% спама. На самых критичных формах можно сочетать оба: honeypot — первый слой, CAPTCHA — для подозрительных случаев.

Практика Sayt.uz

На каждом сайте, созданном в конструкторе Sayt.uz, на контактную форму автоматически ставится honeypot. Спам падает на 90-95%, пользователь ничего не замечает. Проверка времени и IP rate-limit работают как дополнительные слои. Конструктор от 49 000 сум, honeypot и другие слои защиты включены в стоимость.

Похожие статьи

🔐 Менеджеры паролей — выбор между Bitwarden, 1Password, LastPass и KeePass 📄 /.well-known/security.txt — стандарт контакта по вопросам безопасности 📋 Соответствие GDPR — обязательства по защите данных европейцев 🚨 План реагирования на инциденты — порядок действий при нарушении
🌐 Язык
🇺🇿 O'zbek 🇺🇿 Ўзбек 🇷🇺 Русский 🇬🇧 English