reCAPTCHA v3
en CapMonster Cloud

Captcha-oplossing, integratie op uw website en testen.

Prijzen van reCAPTCHA v3-oplossing

Bericht
Prijs (USD)
$ 0.90
1000 tokens
Heb je een site geërfd met een ingebouwde captcha of andere bescherming, maar zonder toegang tot de broncode? Dan wil je natuurlijk weten welke oplossing draait, of die goed is ingesteld en hoe je de werking test.

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.

Wat is Google reCAPTCHA v3
Wat is Google reCAPTCHA v3
reCAPTCHA v3 is een onzichtbare beveiliging van Google die echte gebruikers van bots onderscheidt zonder de controle “Ik ben geen robot”. Op de pagina draait een verborgen script dat het gedrag van de bezoeker analyseert en een vertrouwensscore (score) van 0,0 tot 1,0 teruggeeft. De ontwikkelaar stelt een drempel in; als de score daaronder komt, kan extra controle of blokkering vereist zijn. Zo wordt beveiliging geboden zonder extra handelingen voor de gebruiker.

Hoe reCAPTCHA v3 op te lossen via CapMonster Cloud

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.

  • Open de pagina met het formulier en controleer of de captcha verschijnt.
  • Probeer het formulier te versturen zonder oplossing — de server hoort een fout terug te geven.
  • Na een succesvolle oplossing moet het formulier probleemloos worden verzonden.

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:

Taak aanmakenTaak aanmaken
arrow
API-aanvraag versturenAPI-aanvraag versturen
arrow
Resultaat ontvangenResultaat ontvangen
arrow
Token op de pagina plaatsenToken op de pagina plaatsen
arrow
reCAPTCHA v3 herkennen met kant-en-klare libraries
CapMonster Cloud biedt kant-en-klare libraries voor gebruik met Python, JavaScript (Node.js) en C#.
Python
JavaScript
C#
Oplossen, token invoegen en formulier verzenden
Een Node.js-voorbeeld voor de volledige cyclus van het herkennen van een captcha op uw webpagina. Mogelijke aanpakken: HTTP-verzoeken gebruiken om de HTML en captcha-parameters op te halen, het antwoord te verzenden en het resultaat te verwerken; of met automatiseringstools (bijvoorbeeld Playwright) — de pagina openen, wachten tot de captcha is geladen, parameters verzenden (voor tests kunt u zowel correcte als onjuiste gegevens sturen), het resultaat via de CapMonster Cloud-client ophalen, de token in het formulier plaatsen en het resultaat bekijken.
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('Token is leeg, controleer sitekey en 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();
})();
Hoe reCAPTCHA v3 aan uw website te koppelen
Om goed inzicht te krijgen in hoe de captcha op uw site werkt, hoe de validatie-logica in elkaar zit en hoe u deze opnieuw kunt koppelen of herconfigureren, raden wij u aan deze sectie door te nemen. Hier wordt het proces van het inschakelen van de bescherming beschreven — dit helpt u snel alle details te begrijpen.

1. Ga naar de pagina van het beheerpaneel van reCAPTCHA.

2. Registreer een nieuwe site en kies het type captcha — reCAPTCHA v3

HowTo Connect image 1

3. Verkrijg twee sleutels:

  • Site key — openbare sleutel (wordt aan de frontendzijde gebruikt);
  • Secret key — geheime sleutel (wordt aan de serverzijde gebruikt voor verificatie)

HowTo Connect image 2

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:

  • Geldigheidsduur van de token: de token die door reCAPTCHA v3 wordt teruggegeven, is 2 minuten geldig. Zorg ervoor dat u deze binnen die tijd naar de server stuurt.
  • Verificatie aan de serverzijde: nadat de server de token heeft ontvangen, moet hij een POST-verzoek sturen naar https://www.google.com/recaptcha/api/siteverify met de parameters:
    – secret: uw geheime sleutel
    – response: de token die van de client is ontvangen
    – remoteip (optioneel): IP-adres van de gebruiker
  • De server van Google retourneert een JSON-antwoord met informatie over het verificatieresultaat.

5. Voer nu aan de serverzijde de controle van het antwoord uit

Voorbeeld in PHPVoorbeeld in PHP
arrow

Opmerkingen:

  • Zorg ervoor dat aan de clientzijde de token in een verborgen formulierveld met de naam recaptcha-token naar de server wordt verzonden:
    • <input type="hidden" name="recaptcha-token" id="recaptcha-token">

      • De drempel van de score kan aangepast worden afhankelijk van de gewenste strengheid (bijvoorbeeld 0.3–0.7).
      • Extra controle op action === 'submit' verhoogt de veiligheid en helpt te bevestigen dat de token voor de specifieke actie op de pagina is gegenereerd.
Background
Mogelijke fouten en debugging
Bug Icon
Onjuiste site of sleutel
Captcha wordt niet geladen of geeft invalid-input-secret terug.
Bug Icon
Time-out bij oplossen
De server heeft het antwoord niet op tijd ontvangen, verhoog de wachttijd.
Bug Icon
Lege token
Fout bij het doorgeven van het resultaat aan de pagina.
Bug Icon
Antwoord success=false
De token is verlopen, opnieuw gebruikt of vervalst. Schakel voor diagnose de logging van verzoeken in en controleer het veld error-codes in het antwoord van Google.
Bug Icon
Lage score (bijv. <0.5)
Kan tot weigering leiden, zelfs bij success=true, omdat Google het vertrouwen in de gebruiker op basis van de score beoordeelt.
Bug Icon
Controleer de action
Om zeker te zijn dat de token voor de juiste actie op de pagina is bedoeld
Controle van de robuustheid
Controleer na de integratie of het systeem de site echt beschermt tegen geautomatiseerde acties.
Aanbevelingen voor veiligheid en optimalisatie
Bewaar de <span class="font-bold">Secret Key</span> uitsluitend op de server en geef deze niet door aan de clientzijde.
Log foutcodes (<span class="font-bold">error-codes</span>) en de waarde van <span class="font-bold">score</span> om de redenen voor afwijzingen te begrijpen.
<span class="font-bold">Controleer het veld action</span> in het antwoord van Google om er zeker van te zijn dat de token voor de juiste actie op de pagina is bedoeld.
Voeg onderaan het formulier links toe naar het <span class="font-bold">Privacybeleid</span> en de <span class="font-bold">Gebruiksvoorwaarden van Google</span>, zoals de licentie vereist.
Conclusie

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.

Conclusion

Veelgestelde vragen over reCAPTCHA v3

CapMonster Cloud biedt officiële clientbibliotheken voor Python, JavaScript (Node.js) en C#. Deze bibliotheken vereenvoudigen de reCAPTCHA v3-integratie en voorkomen dat je HTTP-verzoeken handmatig hoeft te implementeren.

In Node.js kun je bijvoorbeeld het pakket @zennolab_com/capmonstercloud-client gebruiken, waarmee je in slechts een paar regels code een token kunt verkrijgen en in een formulier kunt injecteren.

Als er geen speciale bibliotheek voor jouw taal is, gebruik dan de universele REST API (createTask / getTaskResult). Die werkt met elke HTTP-client, waaronder curl, requests, axios en anderen.

De volledige aanvraagstructuur staat in de API-documentatie.

De parameter minScore accepteert waarden van 0.1 tot 0.9 en vertelt CapMonster Cloud welke minimale trust score het geretourneerde token moet hebben. 0.7 is een redelijk startpunt. Een te hoge waarde (bijv. 0.9) vergroot de kans op oplossingsfouten; een te lage waarde kan tokens teruggeven met een score die je serverdrempel toch zou afwijzen. Stem de waarde af op de werkelijke afwijzingspercentages in je testomgeving.

Een token van reCAPTCHA v3 is ongeveer 2 minuten geldig. Je automatiseringspipeline moet het token binnen dat venster naar de server sturen; na verloop geeft Googles siteverify-endpoint success: false terug. Houd de oplossingsstap zo dicht mogelijk bij het formulierverzenden en cache geen tokens tussen verzoeken.

Om een reCAPTCHA v3-token te injecteren, zoek je het verborgen antwoordveld (meestal een textarea of input met ID g-recaptcha-response) en voeg je het token in dat je van je CAPTCHA-oplossingsservice hebt gekregen. Zo doe je dat in de drie automatiseringsframeworks.

Playwright / Puppeteer (Node.js)

const token = "YOUR_TOKEN";
await page.evaluate((t) => {
  document.getElementById('g-recaptcha-response').value = t;
}, token);
await page.click('#submit-btn');

Selenium (Python)

token = "YOUR_TOKEN"
driver.execute_script(f"document.getElementById('g-recaptcha-response').value = '{token}';")
driver.find_element("id", "submit-btn").click()

Sommige websites gebruiken callback-functies om het token te valideren. Als het formulier niet wordt verzonden, zoek dan de functienaam via de console (___grecaptcha_cfg.clients) en roep die handmatig aan:

// Example of calling a callback in Playwright/Puppeteer
await page.evaluate((t) => { window.onSuccessCallback(t); }, token);

Een success: true-antwoord van Google betekent alleen dat het token geldig is. Je backend kan het verzoek nog steeds afwijzen als de tokenscore onder je geconfigureerde drempel ligt.

Een ander veelvoorkomend probleem is een action-mismatch. Het token moet worden geverifieerd met dezelfde action-waarde die bij het aanmaken van de taak is gebruikt.

Voor diagnose:

  • controleer het veld score in het siteverify-antwoord;
  • verifieer dat de action-waarde overeenkomt;
  • inspecteer error-codes wanneer success false is.

Is success true, dan is de error-codes-array meestal leeg — score en action zijn dan de belangrijkste velden om te controleren.