• Возможности
  • Тарифы
  • Вопросы
  • Блог
ВойтиНачать бесплатно
0%
Binetro

Защита

  • Защита от ботов
  • Защита от скликивания

Аналитика

  • Аналитика трафика
  • Отчёты

Подключение

  • Тильда
  • WordPress
  • Любой сайт

Начало работы

  • Как подключить
  • Тарифы
  • Блог

Документы

  • Политика конфиденциальности
  • Договор публичной оферты
  • Согласие на обработку данных
  • Политика использования cookie
  1. Блог
  2. Лиды и заявки

Что такое honeypot-поле в форме

Опубликовано 25 октября 2026 г.Редакция BinetroЛиды и заявки6 мин чтения—
Содержание
  1. Что именно отклоняет отправку
  2. Почему одного поля мало
  3. Второй honeypot: путь, который вежливый робот не просит
  4. Капча здесь запасной шаг, а не замена поля
  5. Что сделать на своей форме

Содержание

  1. Что именно отклоняет отправку
  2. Почему одного поля мало
  3. Второй honeypot: путь, который вежливый робот не просит
  4. Капча здесь запасной шаг, а не замена поля
  5. Что сделать на своей форме

Пока вы читаете, бюджет могут скликивать

Binetro блокирует ботов и мотивированное скликивание, пока ваша реклама работает.

Защитить рекламу

Поделиться

Honeypot-поле в форме — скрытое поле с пометкой оставить его пустым. По описанию OWASP его заполняют боты, а человек не заполняет. Если поле пришло непустым, отправку отклоняют. Приём дешёвый и не мешает обычному посетителю. Это один слой проверки заявки, а не ответ на скликивание.

Вам это нужно, если форма на сайте принимает заявки и вы хотите понять, что именно даёт «пустая ловушка», прежде чем считать её защитой. Ниже — как устроены два honeypot из раздела OWASP, почему один приём ломается и какое место у видимой капчи.

Что именно отклоняет отправку

Человек видит обычные поля: имя, телефон, комментарий. Скрытое поле в разметке есть, но в интерфейсе его нет, и рядом стоит просьба не заполнять его. Автоматический клиент, который обходит все поля подряд и подставляет в них значения, часто заполняет и это. Сервер смотрит на пришедшее значение. Пустое поле пропускает отправку дальше. Непустое — повод отклонить именно эту отправку.

OWASP называет приём дешёвым: посетителю не показывают головоломку и не просят лишнее действие. Для живого человека, который поле не видит, форма остаётся прежней.

Долю пойманных отправок и долю ложных отказов OWASP здесь не публикует. Из «дёшево и незаметно» не следует, что поле закрывает заявки. Если вы отсекаете спам только им, вы не знаете, какая часть автоматических отправок его обходит.

Почему одного поля мало

Задача, которую ставит OWASP, — не остановить всех ботов. Краулеры поиска, мониторинг и инструменты доступности законны. Нужно поднять цену злонамеренной автоматизации и при этом не задеть людей и законных ботов.

Один приём хрупок. Защиту собирают из трёх слоёв:

  • край сети — то, что встречает запрос до приложения;

  • само приложение — в том числе форма и проверка её полей;

  • бизнес-правила — что считать допустимой заявкой, регистрацией или заказом.

Скрытое поле живёт во втором слое. Оно не заменяет край сети и не заменяет правило «заявка без подтверждённого контакта не идёт в работу».

До выбора приёма OWASP просит понять, какие события каталога автоматических угроз относятся к каким точкам. Вход, регистрация, каталог и оформление заказа устроены по-разному. Поле, которое отсекает пустую отправку на форме «перезвоните», не отвечает на вопрос, кто листает каталог или кто жмёт кнопку заказа. Смешивать эти точки в одно правило «все боты» нельзя: законный краулер и клиент формы — разные клиенты.

Имена библиотек, пороги частоты и конкретная разметка поля здесь не задаются. Вам достаточно принципа: непустое скрытое поле — сигнал отклонить эту отправку, а не описание всей защиты сайта.

Второй honeypot: путь, который вежливый робот не просит

В том же разделе OWASP описывает ещё один приём. В robots.txt закрывают путь-приманку. Запрос к этому пути считают признаком клиента, который директиву не соблюдает. Клиентов, которые читают протокол, относят к тем, кто на закрытый путь не пойдёт.

Это не то же самое, что поле в форме. Поле смотрит на тело отправки. Путь смотрит на то, какой адрес клиент запросил. Оба называются honeypot, потому что оба предлагают автоматическому клиенту сделать то, чего человек или вежливый робот не делает.

Правила robots.txt не являются разрешением на доступ. Закрытая строка в файле не запирает файл на сервере. Запрос к приманке — признак в описании OWASP, а не замок. Если путь всё ещё отдаёт содержимое, его закрытие в robots.txt само по себе доступ не отменяет.

Как прятать путь и как его обходить, в открытое описание не входит. Долю ложных срабатываний по этому пути OWASP тоже не публикует — и это тот же предел, что у поля: признак нельзя выдавать за измеренную долю ботов.

Капча здесь запасной шаг, а не замена поля

Видимые капчи плохо доступны. Их решают машинным обучением и отдают сервисам людей-решателей. Место такой капчи — запасной шаг, когда проверку нужно усилить, а не основная защита формы.

Proof-of-work может поднять цену автоматического запроса. Он не доказывает, что клиент — человек. Слишком трудная задача сама может отказать живому посетителю: человек ждёт, а сервер считает, что проверка не пройдена.

Поле и капча стоят в разных ролях. Поле дёшево и не видно обычному посетителю. Капча видна и доступна плохо. Оба не отменяют хрупкость одного приёма. Ставить капчу «вместо honeypot», чтобы закрыть все заявки, значит перейти от дешёвого сигнала к запасному шагу и всё равно остаться на одном слое.

Цена решения капчи и названия сервисов-решателей в это описание не входят. Вам важно другое: видимая головоломка не становится основной защитой только потому, что поле кто-то научился пропускать.

Что сделать на своей форме

Порядок ниже собран только из этих ролей. Это не пороги и не готовая конфигурация.

  1. Назовите точку. Это форма заявки, вход, регистрация или заказ? Для каждой точки события разные.

  2. Если ставите скрытое поле, отклоняйте отправку, когда оно пришло непустым, и не ждите от этого долю «всех ботов».

  3. Не считайте закрытый путь в robots.txt замком. Запрос к приманке — признак клиента, который директиву не читает.

  4. Видимую капчу держите запасным шагом. Вычислительную задачу не путайте с доказательством, что перед вами человек.

  5. Добавьте хотя бы ещё один слой: край сети или бизнес-правило заявки. Одного поля OWASP считает недостаточно.

Заполненное скрытое поле не объясняет, кто скликивает рекламу, чем кликфрод отличается от скликивания, почему недействительные клики не всегда списывают и вернёт ли Яндекс деньги. Это другие решения, их принимает рекламная площадка по своим правилам.

ПриёмЧто видит человекЧто считается сигналомЧего приём не делает
Скрытое полеОбычную формуНепустое значение в полеНе измеряет долю поимки и не заменяет другие слои
Путь в robots.txtНичего, если путь не ищетЗапрос к закрытому путиНе запирает доступ: файл просит, а не разрешает
Видимая капчаГоловоломкуПройденный или непройденный тестНе основная защита; тест решают и люди, и программы
Proof-of-workОжидание или ничегоПотраченное вычислениеНе доказывает, что клиент человек

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

Пока вы читаете, бюджет могут скликивать

Binetro блокирует ботов и мотивированное скликивание, пока ваша реклама работает.

Защитить рекламу

Ещё по теме

  • Как защитить форму от ботов без капчи

    Три слоя OWASP, скрытое поле, подтверждение почты и виджет Turnstile. Где капча остаётся запасным шагом и чего не делает вычислительная задача.

    5 мин чтения
  • Как оценить эффект от защиты: до и после

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

    4 мин чтения
  • Ложные срабатывания: что делать, если заблокирован живой клиент

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

    5 мин чтения
  • Скрипт защиты на сайте: влияет ли он на скорость загрузки

    Пороги LCP, INP и CLS — про опыт страницы, не про скрипт защиты. Что делает проверка, если не дождалась ответа, и почему бюджет времени скрипта не задан.

    5 мин чтения
Все статьи