Integreren van reCAPTCHA

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Sietsko Bos

Sietsko Bos

03/12/2020 09:35:24
Quote Anchor link
Hoi,

Ik ben bezig om reCAPTCHA in te bouwen in mijn registratieformulier.

Ik heb deze javascriptregel in de html erbij gezet:

<script src="https://www.google.com/recaptcha/api.js" async defer></script>

En de volgende regel aan het formulier toegevoegd binnen de form:

<div class="g-recaptcha" data-sitekey="mijnsitekey even verwijderd"></div>

Ik kan nog steeds registreren zonder dat ik het selectievakje aanvink, wat doe ik fout?
 
PHP hulp

PHP hulp

17/01/2021 03:51:34
 
- Ariën -
Beheerder

- Ariën -

03/12/2020 09:51:45
Quote Anchor link
Welke tutorial volg je?
Je zult echt nog een serverside controle met PHP moeten uitvoeren.
 
Sietsko Bos

Sietsko Bos

03/12/2020 10:01:02
Quote Anchor link
Ik was met deze tutorial bezig.

https://developers.google.com/recaptcha/docs/display

Welk gedeelte vergeet ik nu dan?

Moet ik deze regel nog toevoegen aan het formulier?

<script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit"
async defer>
</script>
Gewijzigd op 03/12/2020 10:03:11 door Sietsko Bos
 
- Ariën -
Beheerder

- Ariën -

03/12/2020 10:17:40
Quote Anchor link
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).

Dus kijk hier eens verder:
https://developers.google.com/recaptcha/docs/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.
Gewijzigd op 03/12/2020 10:43:12 door - Ariën -
 
Sietsko Bos

Sietsko Bos

03/12/2020 13:48:36
Quote Anchor link
Dankjewel - Ariën - voor de uitleg.

Ik ben er eerst mee gestopt omdat het voor mij te ingewikkeld is om in te bouwen.
Dus ik ga externe hulp inroepen om het in te bouwen.

Dank voor je hulp.
 
- Ariën -
Beheerder

- Ariën -

03/12/2020 13:54:37
Quote Anchor link
Misschien lijkt het moeilijker dan het is.

https://stevencotterill.com/articles/adding-google-recaptcha-v3-to-a-php-form


met deze validatie ben je er al:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?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
    }

}
?>
Gewijzigd op 03/12/2020 13:56:54 door - Ariën -
 
Ad Fundum

Ad Fundum

03/12/2020 19:33:19
Quote Anchor link
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?
 
- Ariën -
Beheerder

- Ariën -

03/12/2020 20:27:42
Quote Anchor link
Ad Fundum op 03/12/2020 19:33:19:
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.
Gewijzigd op 06/12/2020 16:18:37 door - Ariën -
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.