Kleine Anleitung zum einbinden eines Pseudo Captcha Scrips in Gästebuch, Kommentarscript und Formmailer von Alex

Hierbei handelt es sich nicht um das von Alex geschriebene Captcha Demo

Achtung das Script darf frei verwendet werden. Ich übernehme allerdings keinerlei Haftung und Garantie für das funktionieren oder Schäden die durch die Verwendung der Modifizierung entstanden sind. Auch der Urheber-Verweis von Alex darf desshalb nicht einfach entfernt werden.

Das Pseude Script besteht aus 2 Teilen und aus mehreren kleinen Gif Bildern auf denen der Code angezeigt wird.

Gästebuch

Teil 1 kommt an der Stelle vor // save entry when no errors: in den Code der gaestebuch.php

//captcha code Überprüfen:
$error_code = "FEHLER, Du hast nicht den korrekten Code eingegeben!";
$code = trim(strip_tags($_POST['code']));
$key = trim(strip_tags($_POST['key']));
if (!(('xxxxx'==$code) && (strcasecmp('captcha1.gif',$key) == 0)) XOR
(('xxxxx'==$code) && (strcasecmp('captcha2.gif',$key) == 0)) XOR
(('xxxxx'==$code) && (strcasecmp('captcha3.gif',$key) == 0)) XOR
(('xxxxx'==$code) && (strcasecmp('captcha4.gif',$key) == 0)))
$errors[] = $error_code;

Im Code muss man nun die zeichenfolgen "xxxxx" durch den Code ersetzen den mann auf den Bildern anzeigt

Das ganze sieht dann so aus: Bild1

Teil 2 kommt zwischen der letzten Textaera und den OK und Vorschau Button

<tr> <td colspan="2"><br />
<p><?php echo ("Bitte diese Zeichenfolge eingeben: "); ?><br /></p>
<?php
srand ((double) microtime() * 10000000);
$bilder= array(
'captcha1.gif',
'captcha2.gif',
'captcha3.gif',
'captcha4.gif'
);
$key = array_rand($bilder);
?><img src="<?php echo $bilder[$key]; ?>" alt="Captcha Code" title="Bild für Captcha Code"/><br/>
<input type="text" name="code" id="code" size="30"/>
<input type="hidden" name="key" id="key" value="<?php echo $bilder[$key]; ?>" /> </td> </tr>

Das sieht so aus Bild2

Nun erstellt man mit einem Foto Programm 4 Bilder mit ca 150 mal 50 pixel (b/h) mit entsprechenden Zeichenfolgen darauf. Die Bilder werden captcha1.gif bis zb.: captcha4.gif benannt und in den gleichen Ordner kopiert in dem auch die gaestebuch.php ist.

Mann kann natürlich auch mehr als 4 Bilder einbinden. Dazu muss man nur die entsprechenden Stellen in Teil 1 und 2 um die Namen der zusätzlichen Bilder erweitern. Der Code und die Änderungen dazu dürfte eigentlich selbsterklärend sein.

So das wars eigentlich schon. Jedes mal wenn ein Eintrag gemacht wird wird ein anderes Bild aufgerufen.

Habe das Script nun auf Anregung von Willi aus dem Mylittlehomepage Forum ein wenig abgeändert. Es wird nun Quasi der Inhalt der Captcha Bilder erkannt. Dabei ist aber darauf zu achten, dass der Code der Anstelle der "xxxxx" in Teil 1 eingetragen wird auch wirklich dem auf dem Bild angezeigtem Code entspricht.

Das Script selbst kann natürlich mit etwas Anpassung in jedes beliebige PHP Formular eingebunden werden.

Kommentarscript

Um es zB.: in das Kommentarscript von Alex einzufügen, kommt Teil 1 an die Stelle vor

// wenn keine Fehler, Kommentar speichern:
in den Code der comment.php
Und Der Teil 2 vor die Zeile

<td style="font-family: verdana, arial, sans-serif; font-size: 11px; vertical-align: bottom;"><input type="submit" value=" OK " /></td>

Formmailer

Das gleiche gilt im Prinzip auch für den Formmailer von Alex. Hier wird Teil 1 nach

if (isset($_POST["form_submitted"]))
{
$name = trim(preg_replace("/\r/", "", $_POST['name']));
$name = preg_replace("/\n/", "", $name);
$name = stripslashes($name);
$email = trim(preg_replace("/\r/", "", $_POST['email']));
$email = preg_replace("/\n/", "", $email);
$subject = trim(stripslashes($_POST['subject']));
$text = trim(stripslashes($_POST['text']));

unset($errors);

eingefügt, und der 2. Teil vor die Zeile

<p><input type="submit" name="form_submitted" value="OK - Submit" /></p> </div></form><?php

Dabei kann man die Tabellentags in Teil 2 natürlich auch weglassen wenn man sie nicht benötigt.

Wie das alles in der Praxis funktioniert, kann mann sich hier und hier oder gleich unten beim Kommentarscript ansehen.

Viel Spass und hoffentlich eine lange Spamfreie Zeit

 

Corporate Gifts: Hallo, leider klappt es bei mir im Weblog nicht. Zwar geht es bei Kommentaren, aber nun kommt die Fehlermeldung "falscher Code eingegeben" auch, wenn ich selbst einen neuen Beitrag (nicht Kommentar) schreiben oder editieren will, obwohl da der Code gar nicht angezeigt wird.
(13.07.2010, 20:19 Uhr)

iPhone life: Im Zeitgeistmovie von Alex Jones wird der schlimmste Betrug der Weltgeschichte aufgedeckt.
(13.07.2010, 20:19 Uhr)

top recipes: Dabei kann man die Tabellentags in Teil 2 natürlich auch weglassen wenn man sie nicht benötigt.
(13.07.2010, 20:20 Uhr)

Josch Kerk: Moin Moin, - - schöne Seite, aber jetzt genug gesurft, mache jetzt - eine Urlaubs Reise, wünsche euch noch viel Erfolg! - - Gruß Josch
(21.07.2010, 14:38 Uhr)

jiniwaq: i like this site - <a href="http://www.thebridaldesign.com">bridal design</a> - <a href="http://www.thebridaldesign.com">bridal dresses</a> - <a href="http://www.thebridaldesign.com">bridal botique</a>
(07.08.2010, 21:03 Uhr)

dress: autoradio navigation, car dvd gps navigation, sat navigation stereo, OEM Factory headunit for all car makes - Higher quality car electronics from Qualir
(10.08.2010, 11:25 Uhr)

maison de credit: It’s not easy to find knowledgeable people on this topic, but you sound like you know what you’re talking about! Thanks
(23.08.2010, 09:15 Uhr)

dress: Best canon Coffee Mugs! Funny, Cute, & Humorous Unique designs. Also find Travel Mugs, Coffee Cups also, or Create Photo Personalized Mugs & Drinkware
(30.08.2010, 10:15 Uhr)

chanel: Dabei kann man die Tabellentags in Teil 2 natürlich auch weglassen wenn man sie nicht benötigt.
(02.09.2010, 19:04 Uhr)

moncler: autoradio navigation, car dvd gps navigation, sat navigation stereo, OEM Factory headunit for all car makes - Higher quality car electronics from Qualir
(02.09.2010, 19:07 Uhr)

Es werden 10 von 57 Kommentaren angezeigt (Teil 1). [ » ] [ * ]

Kommentar schreiben:

Name:
E-Mail oder Homepage:

Bitte diese Zeichenfolge eingeben:

Captcha Code

Script by Alex