Um zu verhindern, dass Bots ein Formular absenden, werden Captchas verwendet. Hierbei handelt es sich um kleine Bilder, die meinst eine Folge von Zahlen, Buchstaben und Zeichen oder sogar einfachen mathematischen Rechnungen beinhalten. Dieser Code wird bei jedem Aufruf zufällig generiert und ist für Maschinen oft gar nicht oder nur schwer lesbar. Daher wird er dazu verwendet, einen echten Benutzer und eine maschienelle Eingabe zu unterscheiden.
Eine solche Captcha-Funktion wird im System von EGOTEC angeboten.
Die Captcha-Funktion benötigt das GD-Lib Modul mit integrierter Free-Type Bibliothek (http://de2.php.net/imagettfbbox).
Im ersten Schritt wird die Captcha-Klasse eingebunden. Sobald das geschehen ist, steht sowohl im Skript als auch als Smarty-Variable automatisch das Objekt $captcha zur Verfügung:
Mit Hilfe der Methode check() kann nun einfach überprüft werden, ob die Eingabe korrekt war:
Hierbei existieren zwei Parameter:
| Parameter |
Beschreibung |
| modus |
Art der Captcha Prüfung ("string" oder "number"). Der Wert "string" wird ausdrücklich empfohlen. |
| name [optional] |
Prüfung, ob Captcha-Funktion aktiviert ist. Beim Wert current wird für die aktuellen Seite geprüft, ob im Backend die Captcha-Funktion aktiviert wurde. (Der Seitentyp muss entsprechend um eine Checkbox im Adminbereich erweitert werden). Wird der Parameter weggelassen, erfolgt keine Prüfung auf Aktivierung: Die Captcha-Funktionalität ist automatisch aktiv. |
Einige Fallbeispiele:
Die check-Methode kann über das $captcha-Objekt ebenso im Template verwendet werden.
Damit die Überprüfung auf korrekte Eingabe vom $captcha-Objekt überhaupt durchgeführt werden kann, müssen im Template die einzlenen Elemente wie Captcha-Bild, Eingabe-Feld, reload-Button usw. positioniert werden:
Weitere Informationen finden Sie im Designerhandbuch unter {get_captcha}.
Möchten Sie im Adminbereich der Seite den Captcha-Schutz aktiverbar machen, erstellen Sie auf dem gewünschten Reiter eine entsprechende Checkbox. Diese muss zwingend den Namen captcha_active tragen, da auf dieses Extrafeld in der Ego_Captcha Klasse geprüft wird. Gültige Werte für dieses Feld im Falle einer Aktivierung sind 1 oder true.
Den Text "neu laden" für das Captcha können Sie in /skin/mandant/locale/sprache übersetzten. Lesen Sie dazu bitte auch Mehrsprachigkeit. Ergänzen Sie die translation.ini einfach um den Zeile neu laden = reload (z.B. für die Englische Sprache)
|
Tel: +49 (0)6261 / 6743-0 Fax: +49 (0)6261 / 6743-29 E-Mail: info@egotec.com |
EGOTEC GmbH Hauptstraße 130 D-74821 Mosbach |
| Erstellt mit EGOTEC® Internet: www.egotec.com © EGOTEC GmbH | |