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 Prosopo Procaptcha, 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 Prosopo Procaptcha 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 Prosopo Procaptcha, 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 :
type - ProsopoTask
websiteURL - URL complète de la page contenant le captcha ;
websiteKey - Valeur du paramètre siteKey trouvée sur la page.
https://api.capmonster.cloud/createTask
{
"clientKey": "API_KEY",
"task": {
"type": "ProsopoTask",
"websiteURL": "https://www.example.com",
"websiteKey": "5EZU3LG31uzq1Mwi8inwqxmfvFDpj7VzwDnZwj4Q3syyxBwV"
}
}
{
"errorId":0,
"taskId":407533072
}https://api.capmonster.cloud/getTaskResult{
"clientKey":"API_KEY",
"taskId": 407533072
}
{
"errorId":0,
"status":"ready",
"solution": {
"token": "0x00016c68747470733a2f2f70726f6e6f6465332e70726f736f706f2e696fc0354550516f4d5a454463354c704e376774784d4d7a5950547a4136..."
}
}
async function sendTokenToSite(token) {
// URL du formulaire ou endpoint où le token doit être envoyé
const formURL = "https://example..com/en/your-form-endpoint";
// Exemple de données du formulaire
const formData = {
email: "example@example.com",
password: "yourpassword",
"procaptcha-response": token // Token de Procaptcha
};
try {
const response = await fetch(formURL, {
method: "POST",
headers: {
"Content-Type": "application/json", // или 'application/x-www-form-urlencoded' selon le site
},
body: JSON.stringify(formData),
});
const result = await response.text(); // ou response.json() si le serveur renvoie du JSON
console.log("Server response:", result);
} catch (err) {
console.error("Error sending token:", err);
}
}
// Fonction principale
async function solveAndSend() {
const client = CapMonsterCloudClientFactory.Create(
new ClientOptions({ clientKey: API_KEY })
);
const prosopoRequest = new ProsopoRequest({
websiteURL: "https://example.com/en/",
websiteKey: "5EZU3LG31uzq1Mwi8inwqxmfvFDpj7VzwDnZwj4Q3syyxBwV"
});
const balance = await client.getBalance();
console.log("Balance:", balance);
const result = await client.Solve(prosopoRequest);
console.log("Captcha solution:", result);
// Envoi du token au site
await sendTokenToSite(result.solution); // result.solution contient le token Procaptcha
}
solveAndSend().catch(console.error);
1. Obtenez les clés (sitekey et secret key)
2. Ajoutez votre domaine
3. Connectez le script Procaptcha
Placez la balise dans <head>
<script type="module" src="https://js.prosopo.io/js/procaptcha.bundle.js" async defer></script>>4. Option 1 : rendu implicite (automatique) — PLUS FACILE
Ajoutez un conteneur où le captcha apparaîtra automatiquement :
<div class="procaptcha" data-sitekey="your_site_key"></div>Généralement à l'intérieur du formulaire.
<html>
<head>
<title>Procaptcha Demo</title>
<script type="module" src="https://js.prosopo.io/js/procaptcha.bundle.js" async defer></script>
</head>
<body>
<form action="" method="POST">
<input type="text" name="email" placeholder="Email" />
<input type="password" name="password" placeholder="Password" />
<div class="procaptcha" data-sitekey="your_site_key"></div>
<br />
<input type="submit" value="Submit" />
</form>
</body>
</html>Après la vérification réussie du captcha, un paramètre caché sera ajouté :
5. Option 2 : rendu explicite (manuel) — PLUS DE CONTRÔLE
<html>
<head>
<script
type="module"
id="procaptcha-script"
src="https://js.prosopo.io/js/procaptcha.bundle.js"
async
defer
></script>
</head>
<body>
<div id="procaptcha-container"></div>
</body>
</html>
document.getElementById('procaptcha-script').addEventListener('load', function () {
function onCaptchaVerified(output) {
console.log('Captcha verified, output: ' + JSON.stringify(output))
}
const captchaContainer = document.getElementById('procaptcha-container')
window.procaptcha.render(captchaContainer, {
siteKey: 'YOUR_SITE_KEY',
theme: 'dark',
callback: onCaptchaVerified,
})
})6. Configuration du type de captcha (optionnel)
Vous pouvez le choisir explicitement :
Par exemple :
<div class="procaptcha"
data-sitekey="your_site_key"
data-captcha-type="pow">
</div>7. Étape obligatoire : vérification du token côté serveur
Après le rendu du captcha, le serveur doit vérifier la réponse. La vérification se fait via API :
https://api.prosopo.io/siteverifyContenu de la requête :
{
"secret": "your_secret_key",
"token": "PROCAPTCHA-RESPONSE"
}8. Vérification côté serveur en PHP
<?php
function verifyToken($token) {
$url = 'https://api.prosopo.io/siteverify';
$data = json_encode(["secret" => "your_secret_key", "token" => $token]);
$options = [
'http' => [
'header' => "Content-Type: application/json\r\n",
'method' => 'POST',
'content' => $data,
],
];
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
$response = json_decode($result, true);
return $response["verified"] ?? false;
}
?>Qu'est-ce qui est considéré comme une vérification réussie ?
Si le serveur Procaptcha renvoie :
{
"verified": true
}— Captcha réussi, vous pouvez effectuer l'action protégée (par ex., enregistrer un utilisateur).
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 Prosopo Procaptcha, 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 Prosopo Procaptcha 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.