Um lästige Spameinträge in Gästebüchern, Kontaktformularen oder Foren zu vermeiden kann man ganz einfach einen Captcha-Spamschutz installieren. Ein Captcha ist eine kleine Grafik, die eine Buchstaben-Zahlen-Folge enthält, die er Benutzer abtippen muss.
Anfangs erstellen wir das Script, dass die Grafik erzeugt. Per GET übergeben wir den abzubildenden String.
// Erstellen eine 40 mal 100 px großen Bildes
$bild = imagecreate(100,40);// Farben definieren
$schwarz = imagecolorallocate($bild,0,0,0);
$grau = imagecolorallocate($bild,133,133,133);
$weiss = imagecolorallocate($bild,255,255,255);// Schrift einfügen
imagestring($bild,30,20,10,$_GET['wert'],$weiss);
// Störlinien setzen
imageline($bild,0,30,100,10,$weiss);
imageline($bild,0,10,100,30,$weiss);
imageline($bild,20,0,80,40,$weiss);// Type im Header definieren und Bild ausgeben
header(“Content-Type: image/jpeg”);
imagejpeg($bild);// Bild löschen
imagedestroy($bild);
Dieses Script kann nun per IMG-Tag aufgerufen werden (z.b. captcha.php?wert=X49EBI). Um auf der Folgeseite die Richtigkeit des eingetragenen Wertes zu prüfen kann der Wert mit MD5 verschlüsselt werden und als hidden-Feld im Formular mitübergeben werden.
Viel Spaß ohne Spam!