Google Recaptcha einbinden – Anleitung HTML/PHP

Wie kann man Google Recaptcha einbinden?

Anleitung in HTML und PHP Code.

Es gab zig Fake Registrierungen bei einer Webseite von mir. Nach mehreren Email täglich wollte ich ein Captcha einbauen, sodass sich irgendwelche Bots nicht mehr registrieren können.

So habe ich es hinbekommen:

https://www.google.com/recaptcha/admin

Einmal auf die Google Recaptcha Seite gehen und eine neue Webseite anlegen.

Google Recaptcha einbinden - Anleitung HTML/PHP

Danach bekommt man zwei Recaptcha Schlüssel geliefert.

In der Formulardatei ganz oben die API einbinden:

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

Weiter unten innerhalb des Formulars das Captcha anzeigen lassen:

<div class="g-recaptcha" data-sitekey="WEBSITESCHLUESSEL"></div>

Wenn man den eigenen Websiteschlüssel nun einfügt erhält man nun das korrekte Formular mit dem neuen Captcha Feld:

Google Recaptcha einbinden - Anleitung HTML/PHP

Nun muss man in einer weiteren Datei die ganzen Registrationsdaten überprüfen. Stimmen die Passwörter überein? Ist die Email Adresse schon registriert? Sind alle Daten in dem korrekten Format?

Nach diesen Überprüfungen wird dann letztendlich der Benutzeraccount angelegt. Hier bauen wir nun Google Recaptcha ein.

Dies geht folgendermaßen:

Ganz oben innerhalb dieser Datei:

require_once "recaptchalib.php";

https://github.com/google/recaptcha/blob/1.0.0/php/recaptchalib.php

Deeplink: https://raw.githubusercontent.com/google/recaptcha/1.0.0/php/recaptchalib.php

Einige Funktionen müssen zuerst eingebunden werden. Nachdem der Code für die Einbindung eingefügt wurde, muss die Datei im selben Verzeichnis abgespeichert werden.

Folgender Code einfügen:

$captcharesponse = $_POST['g-recaptcha-response'];
$secret = "GEHEIMERSCHLUESSEL";
$response = null;
$reCaptcha = new ReCaptcha($secret);

if ($_POST["g-recaptcha-response"]) {
$response = $reCaptcha->verifyResponse(
$_SERVER["REMOTE_ADDR"],
$_POST["g-recaptcha-response"]
);
}

Dieser Code nimmt die Antwort vom Recaptcha ob es erfolgreich überprüft wurde.

Nun folgt die Auswertung:

if($response != null && $response->success) {
#captcha erfolgreich
} else {
#captcha fehler
}

Wenn das Captcha erfolgreich betätigt wurde, folgt das Einfügen des Benutzerkontos in die Datenbank oder irgendwelche anderen Dinge je nach Anwendungszweck. Wenn der Nutzer das Captcha nicht korrekt gelöst wurde, oder irgendein Bot probleme macht, kann man einfach per echo eine Fehlermeldung ausgeben.

Fazit Google Recaptcha:

Google Recaptcha einbinden - Anleitung HTML/PHP

Es wurde nun erfolgreich eingebunden. Entweder der Nutzer bekommt eine Fehlermeldung oder das Konto wird wie gewünscht angelegt.

 

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.