Captcha Abfrage für Formulare
Samstag, 24. März 2007 | Autor: Pr0g
Dieser Artikel erklärt, wie man mit Hilfe der GDLib und einer MySQL Datenbank eine Captcha Sicherheitsabfrage in PHP realisiert.
Was sind Captchas und wozu dienen sie?
Als Captchas bezeichnet man die kleinen Bilder, welche des öfteren im Internet unter Formularen zu finden sind und einen Code in Form einer Zahl oder Buchstaben enthalten. Diese sollen dann abgelesen und in ein passendes Eingabefeld geschrieben werden.
Ziel dabei ist es Spam-Roboter daran zu hindern Formulare automatisch abzuschicken, da sie das Bild nicht lesen können. Wie immer gibt es auch hier Ausnahmen. Die Captchas einiger großen Seiten wurden schon “geknackt”, können also automatisiert ausgelesen werden. Dahinter steckt jedoch eine Menge Arbeit, welche sich nur für Angriffe auf wirklich große Seiten lohnt und auch nur mit Captchas möglich ist, die recht einfach aufgebaut sind. Ein Projekt welches sich mit dem Auslesen von Captchas befasst ist pwntcha (englisch).
Nun aber wieder zurück zum eigentlichen Thema des Artikels, unser eigenes Captcha. Nachfolgend ein Beispiel, welches mit dem Script aus diesem Artikel erzeugt wurde. So könnte das Captcha nachher aussehen:

Vorbereitungen
Bevor wir mit dem eigentlichen Script beginnen sind noch ein paar Vorbereitungen zu erledigen. Da das Script mehrere Dateien benötigt wird zuerst ein neuer Ordner angelegt, ich nenne ihn mal “mycaptcha”.
In diesem Ordner kommen nun drei neue PHP Dateien mit den Namen “captcha.php”, “dbconnect.php” und “formular.php”. In die erste Datei wird das Script geschrieben, in die zweite die Verbindungsdaten zur MySQL Datenbank und die dritte ein Testcode.
Nun werden noch zwei neue Ordner mit den Namen “bg” und “ttf” erstellt. Um das Captcha etwas abwechslungsreiche zu gestalten werden verschiedene Bilder für den Hintergrund genutzt. Ich habe folgende drei genommen:
Diese werden nun (der Reihe nach von links nach rechts) unter den Namen “bg1.png” bis “bg3.png” in den Ordner “bg” gespeichert. Es können auch eigenen Bilder genutzt und weitere hinzugefügt werden. Sie sollten nur alle die selben Maße haben und von eins an durchnummeriert werden.
Nun fehlt noch eine Schriftdatei vom Typ TrueType. Ich nehme zum Test einfach mal die Datei “arial.ttf” aus dem Ordner “Windows/fonts” und kopiere diese in den eben angelegten “ttf” Ordner.
Zuletzt wird noch kurz die Datei “formular.php” geöffnet und folgender Code hineingeschrieben:
<img src="captcha.php" alt="" />







Sonntag, 2. März 2008
Der Captcha-Artikel sieht *sehr* gut aus (auch wenn ich noch keine Zeit hatte, ihn im einzelnen durchzulesen). Vielen Dank!
Sonntag, 2. März 2008
Es scheint allerdings gute Argumente zu geben, auf Captchas zu verzichten, vgl.
http://1ngo.de/web/captcha-spam.html
Sonntag, 2. März 2008
Klar sind Captchas nicht das perfekte Wundermittel gegen Spam, wurde von mir ja auch nie behauptet. Ich sehe sie lediglich als eine Lösung von vielen und daher der Artikel
Dienstag, 24. Juni 2008
Das Tut ist wirklich gut,bei mir gibt es allerdings einen Schönheitsfehler,es findet kein Abbruch statt wenn ich überhaupt nichts eintrage.??habe es in mein Gästebuch eingefügt. (-: