Really Simple CAPTCHA
Really Simple CAPTCHA funktioniert nicht allein und ist für die Zusammenarbeit mit anderen Plugins vorgesehen. Es ist ursprünglich für Contact Form 7 erstellt, Du kannst es jedoch mit deinem eigenen Plugin verwenden.
Anmerkung: Dieses Produkt ist „wirklich einfach“, wie der Name andeutet, d.h. es bietet keine hohe Sicherheit. Wenn du perfekte Sicherheit benötigen, solltest du andere Lösungen ausprobieren.
Wie funktioniert es?
Really Simple CAPTCHA nutzt, im Gegensatz zu vielen anderen PHP CAPTCHA Lösungen, keine PHP „Sessions“ um Stati zu speichern, sondern speichert diese als temporäre Dateien. Das ermöglicht es dir, es in WordPress zu integrieren, ohne dass du dir Sorgen über Konflikte machen musst.
Wenn du ein CAPTCHA generierst, erzeugt Really Simple CAPTCHA zwei Dateien dafür; eine ist die Bilddatei von CAPTCHA und die andere ist eine Textdatei, in der die richtige Antwort auf das CAPTCHA steht.
Die beiden Dateien haben das gleiche (zufällige) Präfix in ihren Dateinamen, zum Beispiel, „a7hk3ux8p.png“ und „a7hk3ux8p.txt“. In diesem Fall zum Beispiel, wenn der Befragte „K5GF“ auf das Bild „a7hk3ux8p.png“ antwortet, berechnet Really Simple CAPTCHA den Hash von „K5GF“ und vergleicht diesen dann mit dem Hash, der in der Datei „a7hk3ux8p.txt“ gespeichert ist. Stimmen Beide überein, wird die Antwort als korrekt bestätigt.
Wie du es mit Deinem Plugin nutzt
Hinweis: Nachstehende Hinweise sind für Plugin-Entwickler
Zuerst, erzeuge eine Instanz der ReallySimpleCaptcha Klasse:
$captcha_instance = new ReallySimpleCaptcha();
Du kannst die Instanzvariablen beliebig ändern.
// Change the background color of CAPTCHA image to black
$captcha_instance->bg = array( 0, 0, 0 );
Sieh dir really-simple-captcha.php an, wenn dich andere Variablen interessieren.
Generiere ein zufälliges Wort für CAPTCHA.
$word = $captcha_instance->generate_random_word();
Erzeuge eine Bilddatei und eine dazugehörige Textdatei im temporären Verzeichnis.
$prefix = wp_rand();
$captcha_instance->generate_image( $prefix, $word );
Zeige dann das Bild und bekomme eine Antwort vom Befragten.
Überprüfe die Richtigkeit der Antwort.
$correct = $captcha_instance->check( $prefix, $the_answer_from_respondent );
Wenn $correct wahr ist, fahre fort. Andernfalls, blockiere den Befragten – es scheint kein Mensch zu sein.
Und zuletzt, entferne die temporären Bild- und Textdateien, da sie nicht mehr verwendet werden.
$captcha_instance->remove( $prefix );
Das ist alles.
Wenn du eine Live-Demo davon sehen möchtest, kannst du Contact Form 7 besuchen.
