Comparações

Comparação de reCAPTCHA v3 Enterprise vs Standard

Ambas as versões são executadas de forma invisível e retornam uma pontuação de risco entre 0,0 (bot) e 1,0 (humano). A Enterprise adiciona códigos de motivo, gerenciamento baseado em projetos, limites adaptativos e defensor de conta. Para usuários do CaptchaAI, a diferença de resolução é um único parâmetro: enterprise=1.

Este guia se concentra no que é importante para a automação: o que o Enterprise adiciona, como detectá-lo e como as diferenças de pontuação afetam sua integração.


Comparação de recursos

Recurso Padrão v3 Empresa v3
Operação invisível Sim Sim
Pontuação (0,0–1,0) Sim Sim
Parâmetro de ação Obrigatório Obrigatório
Códigos de motivo Não Sim
Limites personalizados por ação Não Sim (por meio do Console do Cloud)
Detecção de vazamento de senha Não Sim
Defensor da conta Não Sim
Etiquetas de prevenção de fraude Não Sim
Integração de autenticação multifator Não Sim
Ponto final de verificação siteverify (grátis) recaptchaenterprise.googleapis.com
Cota mensal 1 milhão de avaliações gratuitas Pagamento por avaliação
Arquivo JS api.js?render=KEY enterprise.js?render=KEY
Parâmetros CaptchaAI version=v3 version=v3 + enterprise=1

Códigos de motivo corporativos explicados

As respostas da empresa incluem códigos de motivo que explicam por que uma pontuação foi atribuída. Esses códigos ajudam os proprietários de sites a ajustar sua segurança – e entendê-los ajuda a criar uma automação mais adequado.

Código Significado Impacto na automação
AUTOMATION Comportamento automatizado detectado Use impressões digitais realistas do navegador
UNEXPECTED_ENVIRONMENT Ambiente de navegador incomum Verifique a detecção do navegador headless
TOO_MUCH_TRAFFIC Alto volume de solicitações da origem Implementar limitação de taxa e rotação de proxy
UNEXPECTED_USAGE_PATTERNS Padrões de interação anormais Adicione atrasos realistas entre as ações
LOW_CONFIDENCE_SCORE Dados insuficientes para uma pontuação confiável Envie mais sinais comportamentais
SUSPECTED_CARDING Padrões de fraude de cartão de crédito Não é relevante para a maioria das automatizações
SUSPECTED_CHARGEBACK Padrões de fraude de estorno Não é relevante para a maioria das automatizações

Observação: Você não vê esses códigos ao resolver por meio de CaptchaAI. Eles são retornados ao backend do site durante a verificação do token. Compreendê-los ajuda a diagnosticar por que os tokens podem ser rejeitados.


Diferenças de pontuação empresarial

O Standard v3 usa um único modelo de pontuação global. Enterprise v3 adiciona camadas:

Aspecto de pontuação Padrão Empresa
Modelo de pontuação básica O modelo global do Google Modelo global do Google + sinais personalizados
Limites por ação Um limite para todas as ações Limites diferentes por ação (login=0,7, checkout=0,9)
Aprendizagem adaptativa Básico Aprende com os padrões de tráfego específicos do site
Granularidade de pontuação 0,0-1,0 (duas casas decimais) Mesmo alcance, sinais com mais nuances
Tratamento de falso positivo Ajuste manual de limite Automático com análise de código de razão

O que isso significa para usuários do CaptchaAI: Sites empresariais podem ter limites mais rígidos ou mais diferenciados por ação. O envio do parâmetro action correto é ainda mais importante no Enterprise porque cada ação pode ter seu próprio limite.


Detecção e resolução

Detectando qual versão

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],
  };
}

Resolvendo Padrão 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

Resolvendo o 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

Solucionador de detecção automática

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")

Solução de problemas

Problema Causa provável Correção
Token rejeitado no site Enterprise Faltando enterprise=1 Verifique enterprise.js e adicione a bandeira
Pontuação baixa em Enterprise Parâmetro action errado Extraia a ação exata da chamada grecaptcha.enterprise.execute()
Token funciona em testes, falha em produção A aprendizagem adaptativa empresarial sinalizou seu padrão Alterne IPs, adicione atrasos, varie padrões de solicitação
ERROR_WRONG_GOOGLEKEY v3 sitekey vem do parâmetro de renderização, não do data-sitekey Procure render=KEY no URL do script

Perguntas frequentes

O Enterprise v3 fornece pontuações diferentes do padrão?

O modelo de pontuação base é semelhante, mas o Enterprise pode usar sinais adicionais e limites personalizados por ação. Um 0,7 no padrão pode ser aprovado, enquanto o Enterprise pode exigir 0,9 para a mesma ação. CaptchaAI trata ambos de forma idêntica — a qualidade do token retornado é a mesma.

Como detecto o Enterprise v3 em uma página?

Procure enterprise.js em vez de api.js nas tags de script e grecaptcha.enterprise.execute() no JavaScript. Ambas as versões são invisíveis – não há diferença visual.

O Enterprise v3 é mais caro para resolver?

Verifique os preços atuais de CaptchaAI. As soluções empresariais podem ter preços diferentes, mas o código de integração da API é idêntico, exceto por um parâmetro.

Um site pode mudar de padrão para empresarial?

Sim, e muitas vezes o fazem. O Google incentiva a migração para o Enterprise para obter mais adequado análises. Crie sua detecção para verificar cada solicitação, em vez de codificar a versão.

Por que minha pontuação caiu depois que o site migrou para o Enterprise?

A empresa usa aprendizagem adaptativa que cria um modelo a partir do tráfego específico do site. Se seus padrões de automação se destacaram antes, o Enterprise poderá detectá-los com menor latênciamente. Melhore a sinal de navegador além de apenas CaptchaAI — adicione um comportamento realista do navegador.


Guias relacionados

Os comentários estão desativados para este artigo.