Коротке оглавлення:
-
CAPTCHA простими словами
-
Які загрози вона зупиняє
-
Як працює перевірка “людина чи бот”
-
Види CAPTCHA і як обрати
-
Де ставити, щоб не вбити конверсію
-
CAPTCHA vs сучасні боти: що реально працює
-
Типові помилки
-
Чекліст для власника сайту
Що таке CAPTCHA і навіщо вона потрібна
Уяви: твій сайт — це магазин із дверима, які завжди відчинені. З одного боку, це ідеально для клієнтів. З іншого — разом із людьми заходять і “відвідувачі”, які нічого не купують, зате вміють: засипати форми спамом, підбирати паролі, накручувати реєстрації, сканувати уразливості та просто з’їдати ресурси сервера.
CAPTCHA — це той самий “простий охоронець на вході”, який не вимагає паспорта, але просить зробити маленьку дію, що для людини — дрібниця, а для бота — дорогий або нестабільний квест.
1) Які загрози зупиняє CAPTCHA
CAPTCHA не є чарівною паличкою, але в реальному житті вона добре відтинає масові атаки, зокрема:
-
спам у формах (контакти, коментарі, заявки);
-
бот-реєстрації (фейкові акаунти під розсилки/шахрайство);
-
brute force на логін (підбір пароля);
-
скрейпінг (масове збирання контенту, цін, контактів);
-
накрутка голосувань/рейтингу;
-
частково — DDoS на рівні застосунку (коли тисячі “користувачів” б’ють у важку форму чи пошук).
Сильна сторона CAPTCHA — вона робить атаку економічно невигідною: боту потрібно більше часу, більше ресурсів або навіть “людські ферми” для проходження.
2) Як CAPTCHA відрізняє людину від бота
Класичні CAPTCHA колись були прості: розпізнай символи, вибери картинки, виріши пазл. Зараз усе цікавіше: сучасні системи часто працюють “в тіні” і оцінюють поведінку:
-
як рухається курсор (живий чи “пряма лінія”);
-
як швидко заповнюються поля;
-
чи є підозрілі патерни кліків;
-
репутація IP/пристрою/браузера;
-
чи збігаються ознаки “автоматизації”.
Тому багато рішень мають режим invisible: більшості нормальних користувачів нічого не показують, а підозрілим — підкидають перевірку.
3) Види CAPTCHA: що обрати
Найпопулярніші підходи:
Текстова/картинкова (класика)
Плюс: зрозуміло, що відбувається. Мінус: часто дратує, іноді погано з доступністю, боти навчилися частково обходити.
Checkbox “I’m not a robot”
Компроміс: для більшості це один клік, для підозрілих — додаткове завдання.
Invisible CAPTCHA
Найкращий UX, але важливо правильно налаштувати пороги/сценарії, інакше можна або пропускати сміття, або почати “душити” реальних людей.
Альтернативи типу “легкої перевірки”
Іноді замість CAPTCHA працює краще:
-
honeypot-поле (людина його не бачить, бот заповнює);
-
затримка (не приймати форму, якщо її заповнили за 0.3 секунди);
-
ліміти на IP/акаунт;
-
підтвердження email/телефону для критичних дій.
Правильний підхід — не ставити CAPTCHA “скрізь і всюди”, а комбінувати методи.
4) Де ставити CAPTCHA, щоб не зіпсувати UX
Ключова помилка - ставити CAPTCHA "скрізь". Правильний підхід – захищати точки ризику
Найкращі місця:
-
форми зловживань: коментарі, зворотний зв’язок, реєстрація;
-
логін після N невдалих спроб;
-
публікація контенту (відгуки, оголошення);
-
підозріла активність: багато запитів, підозрілий IP, аномальні патерни.
Не найкраща ідея:
-
ставити CAPTCHA на кожен клік у каталозі;
-
ставити на оплату без потреби (може вдарити по конверсії);
-
ламати мобільний UX великими віджетами.
5) CAPTCHA vs сучасні боти: чесно про ефективність
Боти еволюціонують: є headless-браузери, проксі-мережі, автоматизація, ферми “ручного проходження”. Тому CAPTCHA не повинна бути твоїм єдиним захистом.
Що працює краще в комплексі:
-
WAF/фаєрвол застосунку (фільтр ботів, правила, репутація IP);
-
rate limiting (обмеження частоти запитів);
-
device fingerprint / поведінкова аналітика для критичних точок;
-
логіка в бекенді: “підозріла реєстрація” — відкласти активацію, вимагати підтвердження;
-
моніторинг: сплески заявок, підозрілі країни, повторювані патерни.
CAPTCHA — хороший “перший бар’єр”, але найкращий ефект дає “пакет” захисту.
6) Типові помилки
-
CAPTCHA стоїть, але форма приймає запит без перевірки токена на сервері.
-
Віджет грузиться, але через кеш/JS помилки не відправляє відповідь.
-
CAPTCHA на всіх формах одразу — і конверсія падає.
-
Немає fallback для користувачів із проблемами доступності.
-
Не налаштовані ліміти — бот просто “лупцює” сайт тисячами запитів.
7) Практичний чекліст
-
Став CAPTCHA тільки на ризикові дії.
-
Перевіряй токен на сервері, не лише на фронті.
-
Додай rate limiting і логування підозрілих подій.
-
Використовуй invisible/checkbox там, де важливий UX.
-
Для логіну — показуй CAPTCHA лише після кількох фейлів.
-
Комбінуй з honeypot/таймінгом/верифікацією email.