Капча: как она защищает форму и сколько заявок при этом съедает
Капча (CAPTCHA) — проверка, которая отличает человека от программы. Появляется перед отправкой формы, при входе в аккаунт или при подозрительной активности.
Название расшифровывается как «полностью автоматический публичный тест Тьюринга». Смысл: задача, которую человек решает легко, а робот — с трудом.
Виды
| Тип | Что делает человек | Помеха |
|---|---|---|
| Искажённый текст | вводит символы с картинки | высокая, часто нечитаемо |
| Выбор картинок | отмечает светофоры и автобусы | высокая, несколько итераций |
| Галочка «я не робот» | один клик | низкая |
| Невидимая | ничего | нет |
| Honeypot | ничего | нет |
| Простой вопрос | считает «два плюс три» | средняя |
Honeypot — приём, о котором знают не все, а он часто лучше капчи. В форму добавляется поле, скрытое от человека стилями. Живой посетитель его не видит и не заполняет, а бот заполняет все поля подряд — и на этом попадается. Стоит ноль, мешает нулю людей, отсекает большую часть примитивных ботов.
🔴 Сколько это стоит в заявках
Про эту сторону обычно не думают, а она и есть главная. Капча стоит на пути между человеком и заявкой, и часть людей до конца не доходит:
- Задача не решается. Искажённый текст не читается, картинки не грузятся, третий круг светофоров подряд.
- Мобильные страдают сильнее. Мелкие картинки на телефоне выбирать неудобно, а больше половины трафика сегодня оттуда.
- Доступность. Людям со слабым зрением и с экранными читалками часть капч недоступна в принципе.
- Скорость. Внешний скрипт капчи — это лишние запросы и просадка в скорости загрузки.
- Раздражение. Человек, который уже заполнил форму и получил задачку, часто просто закрывает вкладку.
Отсюда правило: капчу подбирают не по стойкости, а по соотношению «сколько спама отсекли» к «сколько заявок потеряли». Стойкая капча на форме обратного звонка — это защита от десяти спам-заявок ценой двух настоящих.
Что ставить и в каком порядке
- Honeypot. Всегда, на все формы. Бесплатно и незаметно.
- Ограничение частоты отправки с одного адреса — это уже ответ 429, и он отсекает массовую рассылку.
- Невидимая капча, если спам продолжается. Проверка идёт по поведению, человек ничего не делает.
- Видимая капча — только там, где ставки высоки: вход в личный кабинет, восстановление пароля, оплата.
Обратный порядок — сразу ставить картинки со светофорами на форму заявки — самый частый и самый дорогой выбор.
Как проверить, что защита не съедает деньги
Поставьте цель в Метрике на успешную отправку формы и сравните её с числом людей, дошедших до формы. Разрыв больше обычного после установки капчи — прямой сигнал.
И обязательно проверьте форму сами с телефона: капча, удобная на десктопе, на мобильном часто превращается в квест. Это та же проверка, о которой мы писали в разборе ошибки 405, — форму надо тестировать регулярно, а не считать, что она работает.
Где капча не нужна
На форме, куда спам не идёт. Проверьте почту: если за месяц пришло две мусорные заявки, защита обходится дороже проблемы.
Когда есть модерация. Если заявки в любом случае просматривает менеджер, дешевле удалить спам вручную, чем терять клиентов на входе.
На форме в личном кабинете. Человек уже авторизован, робот туда не попадёт.
Как замена нормальной защите. Капча не спасёт от целенаправленной атаки и не заменит валидацию данных на сервере: боты, написанные под конкретный сайт, обходят её через сторонние сервисы распознавания за копейки.
Коротко
- Капча отличает человека от робота и режет спам в формах.
- Она же режет заявки: часть людей не проходит проверку и уходит.
- Honeypot — скрытое поле, невидимое человеку и заполняемое ботом, — бесплатная альтернатива.
- Порядок такой: honeypot, потом ограничение частоты, потом невидимая капча, и только затем видимая.
- Видимая капча оправдана на входе в аккаунт и оплате, а не на форме обратного звонка.
- От целенаправленной атаки капча не защищает — её обходят через сервисы распознавания.
Настраиваем формы так, чтобы они ловили спам, а не клиентов, — техническое обслуживание сайтов.
