WordPress: Einfaches »Math Captcha« in 8 Zeilen Code – ohne Plugin
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
Teilen & Favorisieren
Twitter (0 & 1) · Facebook (0 & 0)
Kommentieren
Dieser Eintrag kann nicht mehr kommentiert werden.