Comparatifs

Comparaison entre reCAPTCHA v3 Enterprise et standard

Les deux versions fonctionnent de manière invisible et renvoient un score de risque compris entre 0,0 (bot) et 1,0 (humain). Enterprise ajoute des codes de motif, une gestion basée sur des projets, des seuils adaptatifs et un défenseur de compte. Pour les utilisateurs de CaptchaAI, la différence de résolution est un seul paramètre : enterprise=1.

Ce guide se concentre sur ce qui est important pour l'automatisation : ce qu'Enterprise ajoute, comment le détecter et comment les différences de notation affectent votre intégration.


Comparaison des fonctionnalités

Caractéristique Norme v3 Entreprise v3
Opération invisible Oui Oui
Note (0,0 à 1,0) Oui Oui
Paramètre d'action Obligatoire Obligatoire
Codes de motif Non Oui
Seuils personnalisés par action Non Oui (via Cloud Console)
Détection de fuite de mot de passe Non Oui
Défenseur de compte Non Oui
Étiquettes de prévention de la fraude Non Oui
Intégration de l'authentification multifacteur Non Oui
Point de terminaison de vérification siteverify (gratuit) recaptchaenterprise.googleapis.com
Quota mensuel 1 million d'évaluations gratuites Payer par évaluation
Fichier JS api.js?render=KEY enterprise.js?render=KEY
Paramètres CaptchaAI version=v3 version=v3 + enterprise=1

Codes motif d'entreprise expliqués

Les réponses de l'entreprise incluent des codes motif qui expliquent pourquoi un score a été attribué. Ces codes aident les propriétaires de sites à affiner leur sécurité – et les comprendre vous aide à créer une meilleure automatisation.

Coder Signification Impact sur l'automatisation
AUTOMATION Comportement automatisé détecté Utilisez des empreintes digitales réalistes du navigateur
UNEXPECTED_ENVIRONMENT Environnement de navigateur inhabituel Vérifier la détection du navigateur sans tête
TOO_MUCH_TRAFFIC Volume de requêtes élevé depuis la source Implémenter la limitation du débit et la rotation des proxys
UNEXPECTED_USAGE_PATTERNS Modèles d'interaction anormaux Ajoutez des délais réalistes entre les actions
LOW_CONFIDENCE_SCORE Données insuffisantes pour une notation fiable Envoyez plus de signaux comportementaux
SUSPECTED_CARDING Modèles de fraude par carte de crédit Non pertinent pour la plupart des automatisations
SUSPECTED_CHARGEBACK Modèles de fraude aux rétrofacturations Non pertinent pour la plupart des automatisations

Remarque : Vous ne voyez pas ces codes lors de la résolution via CaptchaAI. Ils sont renvoyés au backend du site Web lors de la vérification des jetons. Les comprendre vous aide à diagnostiquer pourquoi les jetons peuvent être rejetés.


Différences de notation d'entreprise

La norme v3 utilise un seul modèle de notation global. Enterprise v3 ajoute des couches :

Aspect de notation Norme Entreprise
Modèle de score de base Le modèle global de Google Modèle global de Google + signaux personnalisés
Seuils par action Un seuil pour toutes les actions Différents seuils par action (login=0,7, checkout=0,9)
Apprentissage adaptatif De base Apprend des modèles de trafic spécifiques au site
Granularité du score 0,0-1,0 (deux décimales) Même gamme, signaux plus nuancés
Traitement des faux positifs Réglage manuel du seuil Analyse automatique du code motif

Ce que cela signifie pour les utilisateurs de CaptchaAI : Les sites d'entreprise peuvent avoir des seuils par action plus stricts ou plus nuancés. L'envoi du bon paramètre action est encore plus important avec Enterprise car chaque action peut avoir son propre seuil.


Détection et résolution

Détecter quelle version

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

Résolution de la norme 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

Résolution d'Entreprise 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

Solveur à détection automatique

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

Dépannage

Problème Cause probable Corriger
Jeton rejeté sur le site Enterprise enterprise=1 manquant Recherchez enterprise.js et ajoutez le drapeau
Note faible sur Entreprise Mauvais paramètre action Extraire l'action exacte de l'appel grecaptcha.enterprise.execute()
Le jeton fonctionne lors des tests, échoue en production L'apprentissage adaptatif d'entreprise a signalé votre modèle Faites pivoter les adresses IP, ajoutez des délais, variez les modèles de requêtes
ERROR_WRONG_GOOGLEKEY La clé de site v3 provient du paramètre de rendu, pas de la clé de site de données Recherchez render=KEY dans l'URL du script

FAQ

Enterprise v3 donne-t-il des scores différents de ceux de la version standard ?

Le modèle de notation de base est similaire, mais Enterprise peut utiliser des signaux supplémentaires et des seuils par action personnalisés. Un 0,7 sur la norme pourrait réussir, tandis qu'Enterprise pourrait exiger 0,9 pour la même action. CaptchaAI gère les deux de manière identique : la qualité du jeton renvoyé est la même.

Comment détecter Enterprise v3 sur une page ?

Recherchez enterprise.js au lieu de api.js dans les balises de script et grecaptcha.enterprise.execute() dans le JavaScript. Les deux versions sont invisibles : il n’y a aucune différence visuelle.

L'Enterprise v3 est-elle plus coûteuse à résoudre ?

Vérifiez les prix actuels de CaptchaAI. Les solutions d'entreprise peuvent avoir un prix différent, mais le code d'intégration de l'API est identique à l'exception d'un paramètre.

Un site peut-il passer du standard à l'entreprise ?

Oui, et ils le font souvent. Google encourage la migration vers Enterprise pour de meilleures analyses. Construisez votre détection pour vérifier chaque demande plutôt que de coder en dur la version.

Pourquoi mon score a-t-il baissé après la migration du site vers Enterprise ?

Enterprise utilise l'apprentissage adaptatif qui construit un modèle à partir du trafic spécifique du site. Si vos modèles d'automatisation se sont démarqués auparavant, Enterprise peut les détecter plus rapidement. Améliorez les empreintes digitales au-delà de CaptchaAI : ajoutez un comportement de navigateur réaliste.


Guides associés

Les commentaires sont désactivés pour cet article.