Codeschnipsel
Sicherheitscode
Damit ein Spambot nicht tausend mal ein Formular absendet, verwendet man bei Formularen oft einen 'Sicherheitscode'.
Dies ist eine Grafik mit einem Text/Code, den der User dann in ein Formularfeld eingeben muss.
Der Server überprüft dann nach dem Absenden ob der Sicherheitscode korekt war.
Dies kann man eigentlich relativ einfach in PHP realisieren.
Hier wird ein sechs Zeichen langer Sicherheitscode verwendet.
Zuerst brauchen wir wieder die Funktion für ein zufälligen String:
|
Die Seite mit dem Formular zu registieren muss dann in etwa so aussehen:
|
Hier wird zuerst in die Session scode unser zufälliger Sicherheitscode gespeichert.
Danach wird das Bild scode.php ausgegeben, und als GET Variable wird die Zeit angehängt.
Dies verhindert, dass das Bild aus dem Browser-Cache geladen wird.
Zum Schluss ist dort noch ein Eingabefeld für den Sicherheitscode.
Jetzt kommen wir zu der Seite, die die Eingabe, und somit den Sicherheitscode überprüft.
Diese ist in etwas so aufgebaut:
|
Hier werden die beiden Sicherheitscodes, also der aus der Session und der aus dem Eingabefeld, überprüft.
Wenn diese identisch sind, dann werden die Daten gespeichert.
Ganz wichtig ist, dass der Sicherheitscode in der Session zufällig überschrieben wird, egal ob der Code jetzt richtig oder falsch war.
So jetzt kommen wir zu dem letzten, und wichtigstem Script.
Dieser Script stellt den Sicherheitscode als Grafik dar.
scode.php
|
Damit diese Code funktioniert, muss die Erweiterung gd geladen sein, was bei so gut wie allen Servern der Fall ist.
Kommentare
Autor Andavos