Hallo,
wären cookies die den posting verbieten ne lösung??aber die user die keine cookies akzeptieren köntnen es tritzdem machen.. IP-verbot als option??oder deaktivieren der "submit" taste nach dem klcik als einfachste lösung?
Hier im Forum wird folgendes Schema verwendet: In jedem Formular ist ein Hidden-Feld mit dem Namen "unid" und einem zufälligen Inhalt drin. z.B. so eins:
<input type="hidden" name="unid" value="6zx67Y0xz0zOQ364zBoPHNGh" />
Diese Unids werden dann serverseitig mit den Postings gespeichert. Wenn jemand nun ein Posting abschickt, wird kontrolliert, ob die gleiche unid (Du kannst das Feld übrigens gerne auch anders nennen ;-)) schonmal vorhanden ist - wenn ja, dann wird eine Fehlerseite angezeigt, wenn nein, wird das Posting normal verarbeitet.
Die Lösung basiert natürlich darauf, dass der User das nicht mutwillig hintergeht - immer wenn der Nutzer das Formular nochmal angezeigt bekommt, wenn er die Formularseite selbst aufruft, kann ein Script immer neue Requests senden - dagegen kann man schlichtweg nichts machen (außer evtl. die Häufigkeit der Formularbenutzung / IP-Adresse und Zeitraum einschränken). Und wenn das Formular nicht nochmal angezeigt würde, nachdem es abgeschickt wurde, kann das die Verarbeitungslogik auch abfangen, dann wäre der Schutz unnötig. Aber gegen normale User, die nichts böses im Schilde führen, sondern sich nur verklicken o.ä. ist die Lösung sehr gut geeignet.
Achja: Oftmals kann doppeltes Abschicken auch von der eigentlichen Programmlogik abgefangen werden. Stelle Dir z.B. vor, Du hast einen webbasierten Terminkalender und jemand will zweimal an die gleiche Stelle einen Termin eintragen - dann kannst Du ja nachfragen, ob er das wirklich will (zwei Termine auf einmal), oder nicht (es hinge jetzt natürlich vom Konzept ab, ob man sowas grundsätzlich zulassen würde, oder komplett verbieten würde, dann müsste die Nachfrage, wohin der Termin stattdessen gelegt werden solle, sowieso hin).
Viele Grüße,
Christian
"I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone." - Bjarne Stroustrup