In dit artikel hebben we geprobeerd antwoord te geven op alle belangrijke vragen. De eerste stap bij het oplossen van het vraagstuk is vaststellen welk beveiligingssysteem wordt gebruikt. Daarvoor kun je de lijst met populaire captcha’s en anti-botbeveiligingssystemen raadplegen, met visuele voorbeelden en kernkenmerken die je helpen snel te bepalen waarmee je te maken hebt.
Als je ontdekt dat je website reCAPTCHA v3 gebruikt, is de volgende stap om de eigenschappen en werking ervan uitgebreider te bestuderen. In dit artikel vind je ook een handleiding voor het integreren van reCAPTCHA v3, zodat je volledig begrijpt hoe het systeem op je website werkt. Zo kun je niet alleen de huidige bescherming beter doorgronden, maar ook het onderhoud ervan goed plannen.
Bij het testen van formulieren met reCAPTCHA v3 moet je vaak bevestigen dat de captcha goed is ingebouwd en werkt.
Je kunt de captcha op je site handmatig testen.
Voor automatische oplossingen kun je tools zoals CapMonster Cloud gebruiken. Deze ontvangen de captcha-parameters, verwerken ze op hun servers en sturen een token terug dat je in het formulier kunt zetten om de controle zonder gebruikersinteractie te omzeilen.
Werken met CapMonster Cloud via de API bestaat doorgaans uit de volgende stappen:
In het verzoek om reCAPTCHA v3 op te lossen moet je de volgende parameters opgeven:
type - RecaptchaV3TaskProxyless;
websiteURL - het adres van de pagina waarop de captcha wordt opgelost;
websiteKey - de sleutelidentifier (sitekey) die is opgegeven op de pagina van je site met de captcha;
minScore - kan een waarde hebben van 0.1 tot 0.9;
pageAction - de waarde van de parameter action die wordt doorgegeven door de ReCaptcha-widget in Google. Standaardwaarde: verify.
https://api.capmonster.cloud/createTask{
"clientKey": "API_KEY",
"task": {
"type": "RecaptchaV3TaskProxyless",
"websiteURL": "https://lessons.zennolab.com/captchas/recaptcha/v3.php?level=beta",
"websiteKey": "6Le0xVgUAAAAAIt20XEB4rVhYOODgTl00d8juDob",
"minScore": 0.7,
"pageAction": "myverify"
}
}
{
"errorId":0,
"taskId":407533072
}
https://api.capmonster.cloud/getTaskResult{
"clientKey":"API_KEY",
"taskId": 407533072
}
{
"errorId": 0,
"status": "ready",
"solution": {
"gRecaptchaResponse": "3AHJ_VuvYIBNBW5yyv0zRYJ75VkOKv…hKj9_xGBJKnQimF72rfoq3Iy-DyGHMwLAo6a3"
}
}
const { chromium } = require('playwright');
const {
CapMonsterCloudClientFactory,
ClientOptions,
RecaptchaV3ProxylessRequest
} = require('@zennolab_com/capmonstercloud-client');
(async () => {
const TARGET_URL = 'https://lessons.zennolab.com/captchas/recaptcha/v3.php?level=beta'; // URL van uw pagina met de captcha
const SITE_KEY = '6Le0xVgUAAAAAIt20XEB4rVhYOODgTl00d8juDob';
const API_KEY = 'your_capmonster_cloud_api_key'; // Vul uw CapMonster Cloud API-sleutel in
// CapMonster-client aanmaken
const cmcClient = CapMonsterCloudClientFactory.Create(new ClientOptions({ clientKey: API_KEY }));
// Browser openen
const browser = await chromium.launch({ headless: false });
const page = await browser.newPage();
await page.goto(TARGET_URL, { waitUntil: 'domcontentloaded' });
// reCAPTCHA v3-taak configureren
const recaptchaRequest = new RecaptchaV3ProxylessRequest({
websiteURL: TARGET_URL,
websiteKey: SITE_KEY,
minScore: 0.6,
pageAction: 'myverify', // overeenstemming met de action op de pagina
});
// Captcha oplossen
const solution = await cmcClient.Solve(recaptchaRequest);
const token = solution.solution?.gRecaptchaResponse;
if (!token) {
console.error('Токен пустой, проверьте sitekey и URL');
await browser.close();
return;
}
console.log('Token ontvangen:', token);
// Token in een verborgen veld plaatsen en een klik op de knop simuleren
// Vervang door de benodigde selectors
await page.evaluate((t) => {
const input = document.querySelector('#v3_token');
if (input) input.value = t;
const form = document.querySelector('#v3_form');
if (form) form.submit();
}, token);
console.log('Token is ingevoegd en het formulier is verzonden');
await page.waitForTimeout(5000);
await browser.close();
})();1. Ga naar de pagina van het beheerpaneel van reCAPTCHA.
2. Registreer een nieuwe site en kies het type captcha — reCAPTCHA v3

3. Verkrijg twee sleutels:

U kunt de instellingen openen, waar u bijvoorbeeld extra domeinen kunt opgeven waarop reCAPTCHA gebruikt mag worden of meldingen kunt configureren bij problemen met de site of een toename van verdacht verkeer.
4. Codevoorbeelden voor de clientzijde
De eenvoudigste manier om reCAPTCHA v3 te gebruiken, is door de JavaScript API te laden en attributen aan een knop toe te voegen.
API laden:
<script src="https://www.google.com/recaptcha/api.js"></script>Callback-functie voor het formulier:
<script>
function onSubmit(token) {
document.getElementById("form").submit();
}
</script>
Knop met reCAPTCHA-attributen:
<button class="g-recaptcha"
data-sitekey="reCAPTCHA_sitekey"
data-callback='onSubmit'
data-action='submit'>Submit</button>
Voor volledige controle gebruikt u grecaptcha.execute met de parameter render:
API laden met sleutel:
<script src="https://www.google.com/recaptcha/api.js?render=reCAPTCHA_site_key"></script>Programmeerbare aanroep:
<script>
function onClick(e) {
e.preventDefault();
grecaptcha.ready(function() {
grecaptcha.execute('reCAPTCHA_sitekey', {action: 'submit'}).then(function(token) {
// Verzend de token naar de server voor verificatie
});
});
}
</script>
De token moet direct naar de server worden verzonden voor verificatie.
Belangrijke opmerkingen:
5. Voer nu aan de serverzijde de controle van het antwoord uit
<?php
// Uw geheime reCAPTCHA v3-sleutel (Secret Key)
$secret = 'YOUR_SECRET_KEY';
// Token uit het formulier ophalen
$token = $_POST['recaptcha-token'] ?? '';
// Verzoek naar Google sturen om de token te controleren
$response = file_get_contents(
"https://www.google.com/recaptcha/api/siteverify?secret={$secret}&response={$token}"
);
$result = json_decode($response, true);
// Controleren of de verificatie gelukt is en wat de vertrouwensscore is
if ($result['success'] && $result['score'] >= 0.5 && $result['action'] === 'submit') {
echo "Verificatie geslaagd";
} else {
http_response_code(403);
echo "Verificatie mislukt";
}
?>
Opmerkingen:
<input type="hidden" name="recaptcha-token" id="recaptcha-token">Als je een website in beheer krijgt waarop al een captcha of een ander beveiligingssysteem is geïnstalleerd en je geen toegang hebt tot de code, is dat geen probleem! Het is vrij eenvoudig te bepalen welke technologie precies wordt gebruikt. Voor het controleren of alles correct werkt, kun je de herkenningsservice CapMonster Cloud in een geïsoleerde testomgeving gebruiken, zodat je zeker weet dat het tokenverwerkingsmechanisme en de validatielogica correct functioneren.
In het geval van reCAPTCHA v3 is het voldoende om het systeem te herkennen, het gedrag te analyseren en te bevestigen dat de beveiliging correct werkt. In het artikel hebben we laten zien hoe je reCAPTCHA v3 kunt herkennen en waar je instructies vindt om het te koppelen of opnieuw te configureren, zodat je de bescherming met vertrouwen kunt onderhouden en de werking onder controle kunt houden.