Agentur für Neue Medien


Captcha-Bild anpassen

Die TYPO3-Extension "captcha" von Kasper Skarhœj ist prima dazu geeignet Formulare vor Spam-Bots zu schützen.

Doch leider ist das Captcha-Bild, das von dieser Extension erzeugt wird, ziemlich klein und daher auch sehr unleserlich, so dass man häufig nur raten kann, um welche Buchstaben es sich wohl handeln könnte.

Da man die Ausgabe auch nicht mit TypoScript konfigurieren kann, bleibt einem nichts anderes übrig als den Source-Code der Extension anzupassen.

Dazu öffnen wir die Datei /typo3conf/ext/captcha/captcha/captcha.php in einem Editor, um sie zu bearbeiten.

Schnell hat man die "verdächtigen" Stellen gefunden (Zeile 33/34):

 

$imgHeight = 17;
$imgWidth = 47;

 

Das ist uns zu klein, also ändern wir die Werte z.B. auf:

$imgHeight = 20;
$imgWidth = 80;

Doch leider müßen wir feststellen, dass das zwar das Bild größer macht, aber leider nicht die darauf angezeigten Zeichen :-(

Also müssen wir weitersuchen und finden:

Imagestring($img_number,5,1,1,$text,$textcolor);

Die erste Ziffer (5) stellt die Schriftgröße dar. Doch wie sich herrausstellt, ist "5" bereits die maximale Größe, so dass eine weitere Erhöhung des Wertes keine Änderung bewirkt.

Also müssen wir das Ganze etwas umbauen und ersetzen die Funktion Imagestring durch imagettftext, um ein OpenType-Font zu integrieren, den wir dann beliebig vergrößern können.

Die Zeile (44) mit dem Imagestring wird also auskommentiert oder gelöscht und stattdessen folgendes eingetragen:

$font = dirname($_SERVER["SCRIPT_FILENAME"])."/verdana.ttf";
imagettftext($img_number, 12, 0, 3, 15, $textcolor, $font, $text);

Die erste Zeile gibt an welche Schriftart verwendet werden soll und wo diese zu finden ist. Dazu müssen wir natürlich eine entsprechende OpenType-Schriftart in das Verzeichnis /typo3conf/ext/captcha/captcha/ kopieren.

Die zweite Zeile bestimmt die Schriftgröße (12), den Schriftwinkel (0) und die x- und y-Koordinaten (3,15) für den Startpunkt. Mit den oben angegebenen Werten und der Schriftart Verdana haben wir ganz gute Ergebnisse erzielt.

Alles speichern und schon sind wir fertig! ;-)

Wie das Ganze fertig aussieht, kann man hier sehen.

comments powered by Disqus

Copyright SKom 2006

Ecke rechts unten