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 V2 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 V2, 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 V2 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:
De aanvraag om reCAPTCHA v2 op te lossen moet de volgende parameters bevatten:
type - RecaptchaV2Task;
websiteURL - de URL van de pagina waar de captcha staat;
websiteKey - de sitekey die op de pagina is vermeld.
https://api.capmonster.cloud/createTask{
"clientKey": "API_KEY",
"task": {
"type": "RecaptchaV2Task",
"websiteURL": "https://lessons.zennolab.com/captchas/recaptcha/v2_simple.php?level=high",
"websiteKey": "6Lcg7CMUAAAAANphynKgn9YAgA4tQ2KI_iqRyTwd"
}
}
{
"errorId":0,
"taskId":407533072
}https://api.capmonster.cloud/getTaskResult{
"clientKey":"API_KEY",
"taskId": 407533072
}
{
"errorId": 0,
"status": "ready",
"solution": {
"gRecaptchaResponse": "03AFcWeA66ZARdA5te7acD9vSwWE2hEQ2-B2aqFxm455iMA-g-Jis…"
}
}
// npm install playwright @zennolab_com/capmonstercloud-client
// npx playwright install chromium
const { chromium } = require('playwright');
const { CapMonsterCloudClientFactory, ClientOptions, RecaptchaV2Request } = require('@zennolab_com/capmonstercloud-client');
(async () => {
const browser = await chromium.launch({ headless: false });
const page = await browser.newPage();
const TARGET_URL = 'https://lessons.zennolab.com/captchas/recaptcha/v2_simple.php?level=high';
const WEBSITE_KEY = '6Lcg7CMUAAAAANphynKgn9YAgA4tQ2KI_iqRyTwd';
const CMC_API_KEY = 'your_capmonster_cloud_api_key';
const cmc = CapMonsterCloudClientFactory.Create(new ClientOptions({ clientKey: CMC_API_KEY }));
await page.goto(TARGET_URL, { waitUntil: 'domcontentloaded' });
// Captcha-oplossing
const solution = await cmc.Solve(new RecaptchaV2Request({ websiteURL: TARGET_URL, websiteKey: WEBSITE_KEY }));
const token = solution.solution.gRecaptchaResponse;
// Voeg de token in en verstuur het formulier (vervang door de gewenste selector)
await page.evaluate((t) => {
const ta = document.querySelector('textarea#g-recaptcha-response');
if (ta) ta.value = t;
document.querySelector('form.formular')?.submit();
}, token);
console.log('Captcha opgelost en formulier verzonden!');
})();1. Ga naar de pagina van de reCAPTCHA-beheerdersconsole.
2. Registreer een nieuwe site.
Kies het type captcha — reCAPTCHA v2 (checkbox met opdrachten of de onzichtbare variant).

3. Haal twee sleutels op:

In de instellingen kun je domeinen opgeven die reCAPTCHA mogen gebruiken of het beveiligingsniveau kiezen, van eenvoudig tot streng.
4. Voorbeeld van client-side code. HTML-formulier met reCAPTCHA v2 (kan rechtstreeks in de body worden geplakt):
Voor het checkbox-widget:
<html>
<head>
<title>reCAPTCHA demo</title>
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
</head>
<body>
<form action="submit" method="POST">
<div class="g-recaptcha" data-sitekey="your_site_key"></div>
<br/>
<input type="submit" value="Submit">
</form>
</body>
</html>Deze code laadt de Google reCAPTCHA-bibliotheek en maakt een formulier dat gegevens via POST verzendt. <div class="g-recaptcha" data-sitekey="your_site_key"></div> toont het reCAPTCHA v2-widget met jouw publieke sleutel. Bij “Submit” wordt het formulier samen met de g-recaptcha-response-token naar de server gestuurd voor validatie.
Voor onzichtbare reCAPTCHA v2:
<html>
<head>
<title>reCAPTCHA demo</title>
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
<script>
function onSubmit(token) {
document.getElementById("demo-form").submit();
}
</script>
</head>
<body>
<form id="demo-form" action="?" method="POST">
<button class="g-recaptcha" data-sitekey="your_site_key" data-callback="onSubmit">Submit</button>
<br/>
</form>
</body>
</html>De knop <button class="g-recaptcha" data-sitekey="your_site_key" data-callback="onSubmit">Submit</button> voert automatisch de onzichtbare captcha uit, genereert een token en roept onSubmit aan.
De functie onSubmit(token) ontvangt de g-recaptcha-response-token en verstuurt het formulier naar je server ter verificatie.
In tegenstelling tot het checkbox-widget ziet de gebruiker de captcha niet: de controle gebeurt op de achtergrond.
5. Valideer de reactie aan de serverzijde.
Methode controleren en data lezen
?php
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
http_response_code(405);
exit('Methode niet toegestaan');
}
// reCAPTCHA-token ophalen
$token = $_POST['g-recaptcha-response'] ?? '';
$secret = 'YOUR_SECRET_KEY';
if (!$token) {
exit('Captcha niet gehaald');
}Captcha via Google valideren
$response = file_get_contents(
"https://www.google.com/recaptcha/api/siteverify?secret=$secret&response=$token"
);
$result = json_decode($response, true);
if (!empty($result['success'])) {
echo "<h3>Formulier succesvol verzonden!</h3>";
} else {
echo "Fout bij captcha-validatie.";
}
?>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 V2 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 V2 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.