Hello,
wollt mal fragen, wie ich ein Spamschutz programmieren kann.
Damit man z.B. in meinem GB nicht so schnell auf Abschicken drücken kann, weil sonst die Posts doppelt und dreifach sind.
Das ist dann aber kein SPAM sondern Doppelposting. Das kann verschiedene Ursachen haben.
Beseitigen kann man das mit einer kleinen Formularverwaltung.
Drei Elemente:
Tabelle (kann in einer Flatdatei stehen)
Funktion Formsend() vom Server an den Client
Formreceive() vom Client an den Server
Bevor ein Formular an den Client geschickt wird, erhält es eine eindeutige FormID, mehrere Forms in einer Seite eine verwandte oder sogar die selbe.
Formsend() trägt diese Form-ID in die Datei ein (mit Timestamp)
Wenn der Request nun vom Client kommt, dann schaut formreceive() als erstes nach, ob die ID in der Liste steht. Wenn ja, wird sie gelöscht, wenn nein, war es ein Fake oder Doppelposting.
Von Zeit zu Zeit muss man diese Liste dann mal durchgehen nach abgelaufenen FormIDs
Im Prinzip ist das so ähnlich wie eine Session-Verwaltung. Eine Session entbindet aber nicht von der Formularverwaltung.
Grüße
Tom