Nu heb je enkel nog maar het selectievakje gerenderd. Nu moet je nog zelf de afhandeling inbouwen of iemand wel of niet geweigerd wordt. De pagina die je noemde beschrijft ook enkel het tonen (display) van de ReCaptcha. Daarna staat er ook een link naar de pagina die beschrijft hoe een gebruiker herkend wordt (verify).
Het komt erop neer dat je het formulier element g-recaptcha-response (dus $_POST['g-recaptcha-response']), samen met je secret-key, moet doorgeven aan het API-endpoint: https://www.google.com/recaptcha/api/siteverify. Dan krijg je een JSON-request terug waarin staat of iemand goedgekeurd is, of wat er fout is gegaan. Aan de hand hiervan kan jij in je validatie een mooie foutmelding genereren.
<?php // Check if form was submitted:
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['recaptcha_response'])) {
// Build POST request:
$recaptcha_url = 'https://www.google.com/recaptcha/api/siteverify';
$recaptcha_secret = 'YOUR_RECAPTCHA_SECRET_KEY';
$recaptcha_response = $_POST['recaptcha_response'];
// Make and decode POST request:
$recaptcha = file_get_contents($recaptcha_url . '?secret=' . $recaptcha_secret . '&response=' . $recaptcha_response);
$recaptcha = json_decode($recaptcha);
// Take action based on the score returned:
if ($recaptcha->score >= 0.5) {
// Verified - send email
} else {
// Not verified - show form error
}
} ?>
?
Onbekende gebruiker
03-12-2020 19:33
Ik vind het zelf geen handige keuze om belangrijke dingen zoals een CAPTCHA van een andere site af te laten hangen waar je geen controle over hebt.
Is het geen idee om een eigen CAPTCHA gebruiken vanaf een eigen server?
Ik vind het zelf geen handige keuze om belangrijke dingen zoals een CAPTCHA van een andere site af te laten hangen waar je geen controle over hebt.
Is het geen idee om een eigen CAPTCHA gebruiken vanaf een eigen server?
Het ligt een beetje aan wat voor site je hebt.
Ook van de grotere sites weet ikd at die ReCaptcha hebben, en daar zit jijst de kracht achter dat die aan de hand van diverse factoren, neurale netwerken en kunstmatige intelligentie kunnen bepalen of iemand een bot is, of niet.
ReCaptcha V3 is zelfs captcha-loos, volledig geautomatiseerd en werkt op een score.