Dans cet article, nous avons essayé de répondre à toutes les questions essentielles. Pour commencer à résoudre le problème, il faut d’abord déterminer quel système de protection est utilisé. Pour cela, vous pouvez consulter la liste des captchas et systèmes de protection antibot les plus populaires, qui présente des exemples visuels et des caractéristiques clés permettant d’identifier rapidement avec quoi vous avez affaire.
Si vous constatez que votre site utilise reCAPTCHA v2 Enterprise, l’étape suivante consiste à étudier plus en détail ses propriétés et son fonctionnement. Dans cet article, vous pouvez également consulter le guide d’intégration de reCAPTCHA v2 Enterprise afin de comprendre pleinement la façon dont il fonctionne sur votre site. Cela vous permettra non seulement de mieux connaître la protection en place, mais aussi de planifier correctement sa maintenance.
Lors des tests de formulaires contenant reCAPTCHA v2 Enterprise, il est souvent nécessaire de vérifier que la captcha fonctionne et qu’elle est correctement intégrée.
Vous pouvez contrôler manuellement la captcha intégrée à votre site.
Pour une résolution automatique, utilisez des outils comme CapMonster Cloud qui reçoivent les paramètres de la captcha, les traitent sur leurs serveurs et renvoient un jeton prêt à l’emploi. Insérez ce jeton dans le formulaire pour passer la vérification sans interaction utilisateur.
Travailler avec CapMonster Cloud via l’API comprend généralement les étapes suivantes :
Votre requête doit inclure :
type - RecaptchaV2EnterpriseTask;
websiteURL - l’adresse de la page où s’affiche la captcha;
websiteKey - le sitekey indiqué sur cette page;
enterprisePayload - à fournir si votre widget reCAPTCHA Enterprise transmet un champ s supplémentaire dans l’objet envoyé à grecaptcha.enterprise.render avec le sitekey;
pageAction - la valeur action envoyée par le widget à Google. Par défaut : verify.
https://api.capmonster.cloud/createTask{
"clientKey": "API_KEY",
"task": {
"type": "RecaptchaV2EnterpriseTask",
"websiteURL": "https://mydomain.com/page-with-recaptcha-enterprise",
"websiteKey": "6Lcg7CMUAAAAANphynKgn9YAgA4tQ2KI_iqRyTwd",
"pageAction": "verify",
"enterprisePayload": {
"s": "SOME_ADDITIONAL_TOKEN"
}
}
}
{
"errorId":0,
"taskId":407533072
}https://api.capmonster.cloud/getTaskResult{
"clientKey":"API_KEY",
"taskId": 407533072
}
{
"errorId": 0,
"status": "ready",
"solution": {
"gRecaptchaResponse": "03AFcWeA66ZARdA5te7acD9vSwWE2hEQ2-B2aqFxm455iMA-g-Jis..."
}
}
import { chromium } from 'playwright';
import { CapMonsterCloudClientFactory, ClientOptions, RecaptchaV2EnterpriseRequest } from '@zennolab_com/capmonstercloud-client';
(async () => {
const browser = await chromium.launch({ headless: false });
const context = await browser.newContext();
const page = await context.newPage();
// 2. Ouvrir la page contenant la captcha
await page.goto('https://example.com');
// 3. Créer un client CapMonster Cloud
const cmcClient = CapMonsterCloudClientFactory.Create(
new ClientOptions({ clientKey: '<your_capmonster_cloud_api_key>' })
);
// 4. Configurer la requête de résolution
const recaptchaRequest = new RecaptchaV2EnterpriseRequest({
websiteURL: page.url(),
websiteKey: '6Lf76sUnAAAAAIKLuWNyegRsFUfmI-3Lex3xT5N'
// enterprisePayload: { s: 'SOME_ADDITIONAL_TOKEN' } // Paramètre Enterprise optionnel
});
// 5. Résoudre la captcha via CapMonster
const solution = await cmcClient.Solve(recaptchaRequest);
const token = solution.solution.gRecaptchaResponse;
console.log('Jeton du captcha:', token);
// 6. Insérer le jeton dans un champ caché
await page.evaluate((t) => {
const el = document.getElementById('g-recaptcha-response');
if (el) el.value = t;
}, token);
// 7. (Optionnel) Soumettre le formulaire — adaptez le sélecteur
await page.click('button[data-action="submit"]');
await page.waitForTimeout(5000);
await browser.close();
})();Comme reCAPTCHA Enterprise fonctionne sur Google Cloud, vous devez d’abord créer un projet dans la console :
1. Accédez à la Google Cloud Console.
2. Dans le menu supérieur, choisissez un projet existant ou cliquez sur Nouveau projet.
3. Saisissez un nom de projet, indiquez votre organisation et confirmez la création.

4. Ouvrez la page de l’API : reCAPTCHA Enterprise API et cliquez sur Activer.
5. Dans la console, allez sur Créer une clé puis cliquez sur Créer une clé.

6. Configurez les paramètres de base :
Ensuite, ouvrez Paramètres supplémentaires, activez Allez-vous utiliser des défis ? puis activez Checkbox Challenge.

7. Cliquez sur Créer. Vous recevrez une clé que vous devrez ajouter à votre site pour activer la protection.

8. Ajoutez le script à votre page.
<html>
<head>
<title>reCAPTCHA demo: Simple page</title>
<script src="https://www.google.com/recaptcha/enterprise.js" async defer></script>
</head>
<body>
<form action="" method="POST">
<div class="g-recaptcha" data-sitekey="YOUR_SITEKEY" data-action="LOGIN"></div>
<br/>
<input type="submit" value="Submit">
</form>
</body>
</html>9. Validez la réponse côté serveur.
Le jeton (g-recaptcha-response) est envoyé au backend.
Il est valable pendant 2 minutes, vérifiez-le donc dès que vous le recevez ! Pour une communication sécurisée avec l’API, nous recommandons les bibliothèques officielles Google Cloud :
<?php
require 'vendor/autoload.php';
// Installez les bibliothèques Google Cloud via Composer
use Google/Cloud/RecaptchaEnterprise/V1/RecaptchaEnterpriseServiceClient;
use Google/Cloud/RecaptchaEnterprise/V1/Event;
use Google/Cloud/RecaptchaEnterprise/V1/Assessment;
use Google/Cloud/RecaptchaEnterprise/V1/CreateAssessmentRequest;
use Google/Cloud/RecaptchaEnterprise/V1/TokenProperties/InvalidReason;
/**
* Validez le jeton reCAPTCHA Enterprise et récupérez le score de risque.
*
* @param string $recaptchaKey Votre clé reCAPTCHA pour le site/l’application
* @param string $token Jeton reçu depuis le client
* @param string $projectId ID du projet Google Cloud
* @param string $action Nom de l’action associé au jeton
*/
function create_assessment(string $recaptchaKey, string $token, string $projectId, string $action): void {
$client = new RecaptchaEnterpriseServiceClient();
$projectName = $client->projectName($projectId);
// Créez l’événement d’évaluation (assessment)
$event = (new Event())->setSiteKey($recaptchaKey)->setToken($token);
$assessment = (new Assessment())->setEvent($event);
$request = (new CreateAssessmentRequest())->setParent($projectName)->setAssessment($assessment);
try {
$response = $client->createAssessment($request);
if (!$response->getTokenProperties()->getValid()) {
echo 'Le jeton est invalide : ' . InvalidReason::name($response->getTokenProperties()->getInvalidReason());
return;
}
if ($response->getTokenProperties()->getAction() === $action) {
echo 'Score de risque : ' . $response->getRiskAnalysis()->getScore();
} else {
echo 'L’action dans la balise reCAPTCHA ne correspond pas à la valeur attendue';
}
} catch (Exception $e) {
echo 'Erreur lors de la vérification de reCAPTCHA : ' . $e->getMessage();
}
}
// Appelez la fonction avec les variables
create_assessment(
'YOUR_SITE_KEY',
'YOUR_USER_RESPONSE_TOKEN',
'YOUR_PROJECT_ID',
'YOUR_RECAPTCHA_ACTION'
);
?>Si vous avez récupéré un site avec un captcha ou un autre système de protection déjà installé, mais sans accès au code, pas de panique ! Il est assez simple d’identifier quelle technologie est utilisée. Pour vérifier que tout fonctionne correctement, vous pouvez utiliser le service de reconnaissance CapMonster Cloud dans un environnement de test isolé, afin de vous assurer que le mécanisme de traitement des jetons et la logique de vérification fonctionnent correctement.
Dans le cas de reCAPTCHA v2 Enterprise, il suffit d’identifier le système, d’étudier son comportement et de vérifier que la protection fonctionne correctement. Dans cet article, nous avons montré comment reconnaître reCAPTCHA v2 Enterprise et où trouver les instructions pour son intégration ou sa reconfiguration, afin de maintenir la protection en toute confiance et de garder son fonctionnement sous contrôle.