reCAPTCHA: что это, версии v2 и v3, как подключить | Глоссарий FREEHOSTING

reCAPTCHA

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

Определение простыми словами

reCAPTCHA — это «фейс-контроль» для форм. Когда посетитель жмёт кнопку отправки, скрипт проверяет: двигалась ли мышь, какой у браузера отпечаток, сидел ли пользователь раньше на других сайтах с Google. Если поведение похоже на бота, форма блокируется или предлагает выбрать картинки.

Сервис умеет работать в трёх режимах: видимый чекбокс «I’m not a robot» (v2), картинки-пазлы (v2 invisible), фоновый скоринг от 0 до 1 (v3). Конкуренты — hCaptcha, Cloudflare Turnstile, Yandex SmartCaptcha. Для усиления комбинируется с WAF и fail2ban.

Сравнение

Версия Принцип UX Когда брать
reCAPTCHA v2 Чекбокс + пазл при подозрении Заметна пользователю Регистрация, восстановление пароля
reCAPTCHA v2 Invisible Срабатывает при сабмите формы Скрытая, картинки только подозрительным Контактные формы, комментарии
reCAPTCHA v3 Скоринг 0.0–1.0 без вмешательства Невидима, нужно решение на бекенде Чекаут, защита API
hCaptcha Аналог v2, оплата за решения Похожая Замена reCAPTCHA в РФ-проектах

Кейсы использования

  • Форма логина WordPress — отсечь брутфорс перебором логина admin.
  • Регистрация в SaaS — отфильтровать одноразовые e-mail и фейковые аккаунты.
  • Комментарии на блоге — убрать ссылочный спам без премодерации.
  • API публичной формы (заявка с лендинга) — v3 даёт скор, бекенд решает: пускать, требовать подтверждение или отклонить.
  • Негативный сценарий: ставить reCAPTCHA на каждый клик внутри личного кабинета — пользователь сбежит, нагрузка на Google API вырастет, а реальной защиты от уже залогиненного бота нет.

Технические детали

# Проверка токена reCAPTCHA v3 на бекенде curl-запросом
curl -X POST https://www.google.com/recaptcha/api/siteverify 
  -d "secret=$RECAPTCHA_SECRET" 
  -d "response=$USER_TOKEN" 
  -d "remoteip=$CLIENT_IP"

# Пример ответа JSON:
# {
#   "success": true,
#   "score": 0.9,
#   "action": "login",
#   "hostname": "example.com"
# }

# Скор  0.7 — пользователь

# Загрузка скрипта на странице:
# <script src="https://www.google.com/recaptcha/api.js?render=SITE_KEY"></script>

Частые вопросы

Работает ли reCAPTCHA в России без VPN?

Скрипт грузится с google.com и часто блокируется. Для РФ-аудитории берут Yandex SmartCaptcha или Cloudflare Turnstile — у них схожий API и нет проблем с доступностью.

Какой score выставлять порогом в v3?

По умолчанию 0.5. Для жёстких форм (регистрация, восстановление пароля) поднимают до 0.7, для второстепенных — снижают до 0.3, иначе режется живой трафик.

Может ли reCAPTCHA замедлить сайт?

Да, скрипт ~250 КБ и тянет внешние домены. На лендингах его подключают только на странице с формой через ленивую загрузку, а не глобально в шапке.