Что такое reCAPTCHA и как она работает? v2, v3 и баллы

what is recaptcha - What Is reCAPTCHA and How Does It Work?

reCAPTCHA — это проверка на ботов от Google, и с ней вы почти наверняка сталкивались. Она выпускается в четырёх вариантах: чекбокс “Я не робот”, невидимый вариант, тихая версия с оценкой и уровень Enterprise. Они выглядят по-разному, потому что прерывают вас по-разному, но внутри выполняют одну и ту же задачу.

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

Что такое reCAPTCHA

Это сервис проверки на человека, который Google предлагает владельцам сайтов. Добавьте скрипт на страницу, и Google сообщит вашему бэкенду, было ли конкретное взаимодействие похоже на действия человека.

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

Важное различие: Капча — это общая категория тестов на проверку человека. reCAPTCHA — продукт Google внутри этой категории. Cloudflare Turnstile, GeeTest и hCaptcha — конкуренты в той же области.

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

Каждая версия следует одним и тем же трём шагам, меняется только средний.

  1. Страница загружает скрипт Google, который начинает собирать сигналы.
  2. Google решает: пропустить незаметно, показать проверку или оценить взаимодействие.
  3. Ваш браузер получает недолговечный token, который отправляется вместе с формой.

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

# The server side of every reCAPTCHA version. Same endpoint.
curl -X POST https://www.google.com/recaptcha/api/siteverify \
  -d secret=YOUR_SECRET_KEY \
  -d response=THE_TOKEN_FROM_THE_PAGE

# {"success":true,"score":0.9,"action":"login","hostname":"example.com"}

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

Перед выдачей токена Google учитывает поведение курсора и прокрутки, характеристики браузера и устройства, историю IP, cookie от предыдущих взаимодействий с Google и тайминг. Вот почему свежее окно инкогнито через VPN получает проверку чаще, чем ваш повседневный браузер.

Четыре версии

reCAPTCHA v2 checkbox

Знакомая галочка. Её установка — это не тест: тест — это всё, что измеряется, пока вы к ней двигались. При слабых сигналах вместо неё показывается сетка изображений — это путь эскалации, а не отдельный продукт. См. reCAPTCHA v2 о том, как этот процесс ведёт себя в автоматизации.

Invisible reCAPTCHA

v2 без галочки. Она привязывается к вашей кнопке отправки или срабатывает при загрузке страницы, и большинство посетителей ничего не видят. Когда сигналы слабые, появляется то же задание с картинками. С точки зрения владельца сайта’ это’ v2, где трение вынесено за пределы основного сценария.

reCAPTCHA v3

Никаких головоломок, вообще. Он возвращает балл от 0.0 до 1.0 при каждой проверке, где 1.0 воспринимается как хорошее взаимодействие, а 0.0 — как бот, и передаёт решение сайту. Google предлагает 0.5 в качестве стартового порога.

Это перекладывает реальную работу на владельца сайта: теперь именно вы решаете, во что низкий балл обойдётся посетителю. Полная блокировка — распространённая ошибка, ведь она отсекает людей на корпоративных VPN и в браузерах с защитой приватности. Переход к более строгой проверке — лучший вариант. Если ваши собственные баллы возвращаются низкими, мы подготовили шесть исправлений, которые повышают оценку reCAPTCHA v3. Подробности о версии находятся на reCAPTCHA v3.

reCAPTCHA Enterprise

Это иной уровень продукта Google, а не пятая версия. Enterprise использует потоки как в стиле v2, так и в стиле v3 и добавляет отчётность, тонкую настройку и функции оценки риска для организаций, которым это нужно. Практически это важно: “Enterprise” и “v3” — независимые настройки, и что-то может быть v2 Enterprise или v3 Enterprise. reCAPTCHA Enterprise освещает различия.

Как определить, какую версию использует сайт

Откройте исходный код страницы и посмотрите, какой скрипт она загружает.

Что вы видитеЧто это такое
Видимый виджет с чекбоксомv2 checkbox
Нет виджета, но есть значок в правом нижнем углуv3 или Invisible
grecaptcha.execute() с actionv3
grecaptcha.enterprise где угодно в исходном кодеEnterprise, любая версия
/recaptcha/enterprise.js в качестве URL скриптаEnterprise, любая версия

Сам по себе sitekey ни о чём не говорит, поскольку они все выглядят одинаково. Доверяйте скрипту.

v2 или v3, и во сколько каждый обходится

Ни один из них не лучше по определению. Они дают сбои в противоположных направлениях.

v2 честна с пользователями. Есть видимый шаг, люди понимают, что их проверяют, а успех или неудача однозначны. Плата за это — неудобство для каждого посетителя, включая тех, кто никогда не представлял риска.

v3 невидим и дёшев для добропорядочного трафика, а трудное решение перекладывает на вас. Ошибитесь с порогами — и вы либо пропускаете ботов, либо тихо блокируете клиентов без объяснений и без возможности обжалования. Этот сценарий сбоя хуже именно потому, что он молчаливый.

Обычный разумный подход: v3 по всему сайту для оценки трафика и капча v2 в резерве для всего, что получает низкую оценку в действии, которое имеет значение.

Часто задаваемые вопросы

Что такое reCAPTCHA простыми словами?

Сервис Google, который помогает сайтам определять, кто посетитель — человек или скрипт. Иногда он просит вас что-то сделать. Часто же он просто наблюдает за вашим поведением и решает молча.

В чём разница между CAPTCHA и reCAPTCHA?

CAPTCHA — это категория: любой тест, отделяющий людей от скриптов. reCAPTCHA — продукт Google в её рамках. Каждая reCAPTCHA — это капча, но множество капч, например Cloudflare Turnstile или GeeTest, не имеют никакого отношения к Google.

Что такое reCAPTCHA v2?

Версия с чекбоксом плюс сетка изображений, к которой она прибегает, когда сигналы выглядят слабыми. Есть также вариант Invisible, который выполняет ту же логику, вообще не показывая чекбокс.

Что такое reCAPTCHA v3?

Версия с оценкой. Она никогда не показывает задачу. При каждой проверке она возвращает число от 0.0 до 1.0 и оставляет сайту решать, что делать с низким значением. Рекомендуемый Google начальный порог — 0.5.

Почему сайты используют reCAPTCHA?

Чтобы сократить спам, фальшивые регистрации, credential stuffing, парсинг и злоупотребление пробными версиями, не создавая собственную систему защиты от ботов. Это несколько строк разметки и один вызов на стороне сервера — вот почему это повсюду.

Сводка

reCAPTCHA собирает сигналы, принимает решение и передаёт вашему браузеру токен, который ваш бэкенд должен проверить у Google. v2 спрашивает открыто, Invisible спрашивает только при неуверенности, v3 не спрашивает никогда, а вместо этого выставляет оценку, а Enterprise — это уровень, который использует любой из стилей с дополнительным контролем.

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