ReCaptcha gebruiken

Om te kijken hoe je reCaptcha gebruikt in je project, kun je het beste gewoon het bijgeleverde voorbeeld bekijken en analyseren. Hier volgt de code:

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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<html>
  <body>
    <form action="" method="post">
<?php

require_once('recaptchalib.php');

// Get a key from http://recaptcha.net/api/getkey
$publickey = "";
$privatekey = "";

# the response from reCAPTCHA
$resp = null;
# the error code from reCAPTCHA, if any
$error = null;

# was there a reCAPTCHA response?
if (isset($_POST["recaptcha_response_field"])) {
        $resp = recaptcha_check_answer ($privatekey,
                                        $_SERVER["REMOTE_ADDR"],
                                        $_POST["recaptcha_challenge_field"],
                                        $_POST["recaptcha_response_field"]);

        if ($resp->is_valid) {
                echo "You got it!";
        }
else {
                # set the error code so that we can display it
                $error = $resp->error;
        }
}

echo recaptcha_get_html($publickey, $error);
?>

    <br/>
    <input type="submit" value="submit" />
    </form>
  </body>
</html>


En nu dan de code analyseren:

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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php

require_once('recaptchalib.php');[/code]
In dit stuk wordt de API controller geladen, waardoor je kunt communiceren met de API server. Deze ene regel is van essentieel belang.

[
code]// Get a key from http://recaptcha.net/api/getkey
$publickey = "";
$privatekey = "";

# the response from reCAPTCHA
$resp = null;
# the error code from reCAPTCHA, if any
$error = null;[/code]
Zoals je ziet moet je in dit stuk code de public en private key van die ene pagina invullen. Dit zou ik dan ook zeer zeker doen. Ga naar de pagina, kopieer de public en private key en plak deze key's in dePHP code van hierboven. Tevens worden de variabelen $resp en $error gedefinierd in de bovenstaande code zodat ze later gebruikt kunnen worden.

[
code]if ($_POST["recaptcha_response_field"]) {
        $resp = recaptcha_check_answer ($privatekey,
                                        $_SERVER["REMOTE_ADDR"],
                                        $_POST["recaptcha_challenge_field"],
                                        $_POST["recaptcha_response_field"]);

        if ($resp->is_valid) {
                echo "You got it!";
        }
else {
                # set the error code so that we can display it
                $error = $resp->error;
        }
}[
/code]
Hier wordt gekeken of er een request wordt gedaan aan reCaptcha. Als dat het geval is, gaat reCaptcha kijken naar het antwoord van de server API. Daarbij zijn een aantal parameters nodig, namelijk je private key, het IP adres van de bezoeker (logging) en nog verdere HTML velden.
Vervolgens met behulp van $resp->is_valid kun je kijken of de captcha goed is ingevuld. Als dat niet het geval is, gooit reCaptcha een error en kun je daar je eigen error handling in zetten.

Overigens zul je het input veld recaptcha_response_field en recaptcha_response_field niet terug vinden in de HTML van het voorbeeld. Dit komt, omdat die velden mee komen met de volgende regel:

[
code]echo recaptcha_get_html($publickey, $error);[/code]
Deze functie geeft de HTML terug die nodig is om de captcha weer te geven. Daarbij is echter je public key voor nodig, zodat je je kunt identificeren bij reCaptcha. De HTML response bevat alle velden en bevat een standaard opmaak.

Zo gebruik je dus reCaptcha in je applicatie. Omdat reCaptcha zo weinig omvang heeft, is het ook makkelijker te integreren en komt er ook minder kopieer en plak werk aan te pas.

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Inleiding
  2. Achtergrond informatie
  3. Beginnen met reCaptcha
  4. Installatie van reCaptcha
  5. ReCaptcha gebruiken
  6. ReCaptcha een nieuwe look geven
  7. Documentatie & nawoord

PHP tutorial opties

 
 

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.