Navigation überspringen

WordPress: Ein­fa­ches »Math Captcha« in 8 Zei­len Code – ohne Plugin

15.2.2019·Kommentare:  0Retweets:  0 1

Captcha-Plugins gegen Kommentar-Spam gibt’s für WordPress wie Sand am Meer. Warum also sein eigenes Captcha implementieren? Zum Beispiel wegen Datenschutz, der Einfachheit bzw. »Simplicity« halber und natürlich aus Neugier, wie man das in WordPress am besten implementiert.

Kommentare mit WordPress-Hooks behandeln

Um und Auf ist zunächst der Filter-Hook »preprocess_comment«, mit dem Kommentare vor dem Speichern in der Datenbank bearbeitet werden können. Mit diesem verknüpft man eine einfache Funktion, die z.B. das Ergebnis einer Rechenaufgabe überprüft:

function math_check($commentdata) {
if( $_POST['captcha'] != 7) { /* 7 ggf. ersetzen */
die('Es ist ein Fehler aufgetreten.');
}
return $commentdata;
}
add_action('preprocess_comment', 'math_check');

Nachdem man diese Zeilen in der Datei functions.php des aktiven Themes eingefügt hat, muss man in der comments.php im Kommentar-Formular noch folgende Zeile unterbringen, um die Eingabe der Lösung zu ermöglichen:

3 + 4 = <input id="captcha" name="captcha" type="text" />

Ausbaufähig

Der Code ist so einfach wie möglich gehalten, weitere Abfragen in PHP oder HTML-Labels können und sollten bei Bedarf hinzugefügt werden.

Hierbei handelt es sich natürlich um ein relativ einfaches Captcha, das leicht ausgehebelt werden kann. Nichtsdestotrotz ein guter Startpunkt für den weiteren Ausbau – Updates folgen.

Update: Ich habe einige Verbesserungen vorgenommen, durch die das Captcha viel sicherer wird.


Neueste Artikel

Schlagwörter

· · ·


Kommentieren

Am liebsten hier, gerne aber auch auf Twitter und Facebook.
Ich freue mich über jeden Kommentar und antworte gern innerhalb von 24 Stunden.