Home

Captcha Abfrage für Formulare

Samstag, 24. März 2007 | Autor: Pr0g

Das Captcha Script (Teil 3)

  // Code erzeugen
  
$letter $chars[array_rand($chars)];
  
$code .= $letter;

Jetzt wird ein Zeichen für den Code zufällig aus dem Array $chars gewählt und in die Variable $letter geschrieben, sowie der Variable $code angefügt. Der Befehl array_rand() liefert einen zufälligen Index aus dem übergebenen Array zurück, welcher direkt wieder genutzt wird um das Zeichen am gelieferten Index anzusprechen.

Das selbe geschieht nun nochmal für den Farbcode:

  // Schriftfarben erzeugen
  
$c $colors[array_rand($colors)];
  
$r = ($c[0] == 255);
  
$g = ($c[1] == 255);
  
$b = ($c[2] == 255);
  
$col imagecolorallocate($img$r$g$b);

Es wird ein zufälliger Farbcode aus dem Array $colors ermittelt und in die Variable $c geschrieben. Danach werden die einzelnen Stellen des Farbcodes abgefragt. Die erste Stelle gibt den Rot-Anteil an, welcher in $r gespeichert wird, die zweite den Grün-Anteil ($g) und die dritte den Blau-Anteil ($b). Steht an der Stelle der Wert 0, so entspricht dies auch im dezimalen Zahlensystem einer 0, andernfalls muss es sich um den Wert 1 handeln. Dieser stand für für den Wert FF des HTML Farbcodes, welcher dezimal als 255 geschrieben wird.

  // Code zeichnen
  
imagettftext($img14rand(-55), $xposrand(2025), $col'ttf/arial.ttf'$letter);
  
$xpos += 20;
}

Mit dem Befehl imagettftext() wird das aktuelle Zeichen auf das Bildobjekt mit der Schriftgröße 14 geschrieben. Dabei wird die obere Position und eine leichte Drehung zufällig ermittelt. Sollte eine andere Schriftart zu Beginn in den Ordner “ttf” gespeichert worden sein, so muss der passende Name hier eingetragen werden.

Zuletzt wird die Position für das nächste Zeichen um 20 Pixel erhöht und der Schleifenblock geschlossen.

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