Сравнения

Сравнение reCAPTCHA v3 Enterprise и Standard

Обе версии работают незаметно и возвращают оценку риска от 0,0 (бот) до 1,0 (человек). В Enterprise добавлены коды причин, управление на основе проектов, адаптивные пороговые значения и защитник учетной записи. Для пользователей CaptchaAI решающей разницей является один параметр: enterprise=1.

В этом руководстве основное внимание уделяется тому, что важно для автоматизации: что добавляет Enterprise, как это обнаружить и как различия в оценках влияют на вашу интеграцию.


Сравнение функций

Особенность Стандарт v3 Предприятие v3
Невидимая операция Да Да
Оценка (0,0–1,0) Да Да
Параметр действия Необходимый Необходимый
Коды причин Нет Да
Пользовательские пороговые значения для каждого действия Нет Да (через Cloud Console)
Обнаружение утечки пароля Нет Да
Защитник аккаунта Нет Да
Этикетки для предотвращения мошенничества Нет Да
Интеграция многофакторной аутентификации Нет Да
Конечная точка проверки siteverify (бесплатно) recaptchaenterprise.googleapis.com
Ежемесячная квота 1 миллион оценок бесплатно Оплата за оценку
JS-файл api.js?render=KEY enterprise.js?render=KEY
Параметры CaptchaAI version=v3 version=v3 + enterprise=1

Объяснение кодов причин предприятия

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

Код Значение Влияние на автоматизацию
AUTOMATION Обнаружено автоматическое поведение Используйте реалистичные сигналы браузера браузера
UNEXPECTED_ENVIRONMENT Необычная среда браузера Проверьте обнаружение headless браузера
TOO_MUCH_TRAFFIC Большой объем запросов из источника Внедрить ограничение скорости и ротацию прокси
UNEXPECTED_USAGE_PATTERNS Ненормальные модели взаимодействия Добавьте реалистичные задержки между действиями
LOW_CONFIDENCE_SCORE Недостаточно данных для уверенного подсчета очков Отправляйте больше поведенческих сигналов
SUSPECTED_CARDING Схемы мошенничества с кредитными картами Не актуально для большинства систем автоматизации.
SUSPECTED_CHARGEBACK Схемы мошенничества с возвратом платежей Не актуально для большинства систем автоматизации.

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


Различия в оценках предприятий

Стандарт v3 использует единую глобальную модель оценки. Enterprise v3 добавляет уровни:

Аспект оценки Стандартный Предприятие
Модель базовой оценки Глобальная модель Google Глобальная модель Google + специальные сигналы
Пороги для каждого действия Один порог для всех действий Различные пороги для каждого действия (вход=0,7, оформление заказа=0,9)
Адаптивное обучение Базовый Изучает конкретные модели трафика сайта.
Детализация оценки 0,0–1,0 (два десятичных знака) Тот же диапазон, более тонкие сигналы
Ложноположительная обработка Ручная настройка порога Автоматически с анализом кода причины

Что это означает для пользователей CaptchaAI: Корпоративные сайты могут иметь более строгие или более детальные пороговые значения для каждого действия. Отправка правильного параметра action еще более важна для Enterprise, поскольку каждое действие может иметь свой собственный порог.


Обнаружение и решение

Определение версии

import requests
import re

def detect_v3_version(url):
    html = requests.get(url).text

    if "enterprise.js" in html:
        version = "enterprise"
    elif "recaptcha/api.js" in html and "render=" in html:
        version = "standard"
    else:
        return None

    # Extract sitekey
    key_match = re.search(r'render[=:]\s*["\']?([A-Za-z0-9_-]{40})', html)
    sitekey = key_match.group(1) if key_match else None

    # Extract action
    action_match = re.search(r'action["\']?\s*[:=]\s*["\'](\w+)', html)
    action = action_match.group(1) if action_match else None

    return {"version": version, "sitekey": sitekey, "action": action}
const axios = require("axios");

async function detectV3Version(url) {
  const { data: html } = await axios.get(url);

  const version = html.includes("enterprise.js")
    ? "enterprise"
    : html.includes("recaptcha/api.js") && html.includes("render=")
      ? "standard"
      : null;

  const keyMatch = html.match(/render[=:]\s*['"]?([A-Za-z0-9_-]{40})/);
  const actionMatch = html.match(/action['"]?\s*[:=]\s*['"](\w+)/);

  return {
    version,
    sitekey: keyMatch?.[1],
    action: actionMatch?.[1],
  };
}

Решение стандарта v3

import requests
import time

resp = requests.get("https://ocr.captchaai.com/in.php", params={
    "key": "YOUR_API_KEY",
    "method": "userrecaptcha",
    "version": "v3",
    "googlekey": sitekey,
    "action": "login",
    "pageurl": page_url
})
task_id = resp.text.split("|")[1]

for _ in range(60):
    time.sleep(5)
    result = requests.get("https://ocr.captchaai.com/res.php", params={
        "key": "YOUR_API_KEY", "action": "get", "id": task_id
    })
    if result.text.startswith("OK|"):
        token = result.text.split("|")[1]
        break

Решение Enterprise v3

import requests
import time

# Only difference: enterprise=1
resp = requests.get("https://ocr.captchaai.com/in.php", params={
    "key": "YOUR_API_KEY",
    "method": "userrecaptcha",
    "version": "v3",
    "enterprise": 1,
    "googlekey": sitekey,
    "action": "login",
    "pageurl": page_url
})
task_id = resp.text.split("|")[1]

for _ in range(60):
    time.sleep(5)
    result = requests.get("https://ocr.captchaai.com/res.php", params={
        "key": "YOUR_API_KEY", "action": "get", "id": task_id
    })
    if result.text.startswith("OK|"):
        token = result.text.split("|")[1]
        break

Решатель с автоматическим обнаружением

class V3AutoSolver:
    def __init__(self, api_key):
        self.api_key = api_key

    def solve(self, page_url, action=None):
        import re
        html = requests.get(page_url).text

        is_enterprise = "enterprise.js" in html
        key_match = re.search(r'render[=:]\s*["\']?([A-Za-z0-9_-]{40})', html)
        if not key_match:
            raise Exception("No v3 sitekey found")

        if not action:
            act_match = re.search(r'action["\']?\s*[:=]\s*["\'](\w+)', html)
            action = act_match.group(1) if act_match else "verify"

        params = {
            "key": self.api_key,
            "method": "userrecaptcha",
            "version": "v3",
            "googlekey": key_match.group(1),
            "action": action,
            "pageurl": page_url
        }
        if is_enterprise:
            params["enterprise"] = 1

        resp = requests.get("https://ocr.captchaai.com/in.php", params=params)
        if not resp.text.startswith("OK|"):
            raise Exception(f"Submit failed: {resp.text}")

        task_id = resp.text.split("|")[1]
        for _ in range(60):
            time.sleep(5)
            result = requests.get("https://ocr.captchaai.com/res.php", params={
                "key": self.api_key, "action": "get", "id": task_id
            })
            if result.text.startswith("OK|"):
                return result.text.split("|")[1]
            if result.text != "CAPCHA_NOT_READY":
                raise Exception(f"Solve error: {result.text}")
        raise Exception("Timed out")

Поиск неисправностей

Проблема Вероятная причина Исправить
Токен отклонен на сайте Enterprise Отсутствует enterprise=1 Проверьте наличие enterprise.js и добавьте флаг.
Низкая оценка в категории «Предприятие» Неправильный параметр action Извлеките точное действие из вызова grecaptcha.enterprise.execute()
Токен работает в тестировании, но не работает в производстве Корпоративное адаптивное обучение выявило вашу закономерность Меняйте IP-адреса, добавляйте задержки, меняйте шаблоны запросов.
ERROR_WRONG_GOOGLEKEY Ключ сайта v3 берется из параметра рендеринга, а не из data-sitekey Найдите render=KEY в URL-адресе скрипта.

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

Дает ли Enterprise v3 оценки, отличные от стандартных?

Базовая модель оценки аналогична, но Enterprise может использовать дополнительные сигналы и пользовательские пороговые значения для каждого действия. Стандартная оценка 0,7 может пройти, тогда как Enterprise может потребовать 0,9 для того же действия. CaptchaAI обрабатывает оба одинаково — качество возвращаемого токена одинаковое.

Как обнаружить Enterprise v3 на странице?

Ищите enterprise.js вместо api.js в тегах сценария и grecaptcha.enterprise.execute() в JavaScript. Обе версии невидимы — визуальной разницы нет.

Является ли решение Enterprise v3 более дорогим?

Проверьте текущие цены CaptchaAI. Цены на корпоративные решения могут отличаться, но код интеграции API идентичен, за исключением одного параметра.

Может ли сайт перейти со стандартного на корпоративный?

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

Почему моя оценка упала после перехода сайта на Enterprise?

Enterprise использует адаптивное обучение, которое строит модель на основе конкретного трафика сайта. Если ваши шаблоны автоматизации раньше выделялись, Enterprise может уловить их быстрее. Улучшите дактилоскопию, выйдя за рамки простого CaptchaAI — добавьте реалистичное поведение браузера.


Связанные руководства

Комментарии для этой статьи отключены.