Henryk Plötz: Spam sicheres mailing script

Beitrag lesen

Moin,

kannst du mir ein beispiel zeigen oder mir es genau erklären wie ich es realisiere??

Was hast du denn nicht verstanden?
Also du gibst doch sicher zunächst mal ein Formular aus indem man seinen Text eintragen kann. Dieses Formular musst du jetzt von einem serverseitigen Skript erzeugen lassen. Das Skript generiert eine gute, lange, zufällig aussehende Zahl oder etwas anderes das sich nicht vorhersagen lässt. Ein MD5-Hash über die aktuelle Serverzeit als Timestamp, einen festen, geheimen String und eine Zufallszahl ist zum Beispiel keine ganz schlechte Idee. Dieser Wert wird als Ticket dienen und du speicherst ihn nun zum einen zusammen mit der aktuellen Serverzeit irgendwo (in einer Datei, einer Datenbank oder was auch immer) und gibst ihn auch in das Formular in ein Hidden-Feld aus.

Wenn der User das Formular ausgefüllt und abgeschickt hat, dann prüft dein Skript welches die Mail versenden soll erst einmal ob bei dem abgeschickten Formular ein Ticket welches du vorher erzeugt hast dabei ist (indem es in der Liste nachsieht) und ob es auch nicht allzu alt ist (da musst du dann eine eigene Grenze setzen). Bei der Gelegenheit kann es auch gleich alle alten Tickets aus der Liste löschen, damit die nicht ins Unermessliche wächst, wenn User das Formular aufrufen und nicht abschicken.

Wenn die Prüfung erfolgreich verlaufen ist verschickt dein Skript die Mail und löscht anschließend das Ticket aus der Liste. Wenn nun einfach ein User auf Neuladen oder Zurück und Absenden drückt, wird das selbe Ticket mehrfach verwendet. Da es aber nach der ersten Verwendung vom Server gelöscht wurde, wird die zweite Anfrage nicht durchgelassen. Der User muß nun das Formular ganz neu laden und seinen Text neu eintippen (oder aus der Zwischenablage kopieren) oder selber ein Skript schreiben, welches das automatisch erledigt. Gegen ersteres kannst du dich nur schützen, indem du nur eine bestimmte Anzahl Mails pro Zeiteinheit verschickst (von Beschränkungen pro IP-Addresse halte ich wegen der Nichteindeutigkeit der Zuordnung IP-User nichts). Gegen die automatischen Skripte helfen wie erwähnt Captchas.

--
Henryk Plötz
Grüße aus Berlin
~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~