Home

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:

Captcha Beispiel

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:

Captcha BG 1 Captcha BG 2 Captcha BG 3

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="" />

Seiten: 1 2 3 4 5 6 7 8 9 10 11

Trackback: Trackback-URL | Feed zum Beitrag: RSS 2.0
Thema: Artikel

Diesen Beitrag kommentieren.

4 Kommentare

  1. 1
    Osterhase 
    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!

  2. 2
    Osterhase 
    Sonntag, 2. März 2008

    Es scheint allerdings gute Argumente zu geben, auf Captchas zu verzichten, vgl.
    http://1ngo.de/web/captcha-spam.html

  3. 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 ;)

  4. 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. (-:

Kommentar abgeben


Warning: stristr() [function.stristr]: Empty delimiter in /is/htdocs/wp1017081_BHJX0SUJYV/pr0g_blog/wp-content/plugins/wassup/wassup.php on line 2093