Обе версии работают незаметно и возвращают оценку риска от 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 — добавьте реалистичное поведение браузера.
Связанные руководства
- Стандартный и корпоративный reCAPTCHA v3 — Руководство по решению- альтернативное практическое сравнение
- reCAPTCHA Enterprise против Standard — Полное руководство- охватывает v2 и v3
- Как решить reCAPTCHA v3 с помощью API— стандартное руководство v3
- Как решить reCAPTCHA v3 Enterprise с помощью API— руководство по корпоративной версии 3
-
Как работает оценка рисков reCAPTCHA v3 Enterprise— оценка глубокого погружения
-
reCAPTCHA Enterprise против Standard — Полное руководство
- Как работает оценка рисков reCAPTCHA v3 Enterprise
- Как решить reCAPTCHA v3 Enterprise с помощью API
- Стандартный или корпоративный reCAPTCHA v3