Hallo! Kann ich den inhalt der POST-Daten löschen, so das ein "Seite-zurück" mit dem Browser nicht dazu führt, dass die selben daten nochmal gesendet werden?
Du kannst dem Formular auch eine "Challenge-ID" mitgeben, die zuvor z.B. mit md5(uniqid()) erzeugst und parallel in der Session mitführst. Kommt ein Formular mit einer Challenge-ID an, die nicht in der Session existiert, weißt du, dass diese entweder in dieser Session garnicht erzeugt wurde, also auch gar kein Formular ausgegeben wurde oder, dass das Formular bereits abgeschickt wurde (nach dem Entgegennehmen der Daten löschst du die Challenge-ID natürlich).
Natürlich kannst du so nicht vehindern, dass jemand das Formular neu läd und sich so eine neue Chalenge-ID besorgt. Das müsstest du lösen, indem du dem Benutzer Rechte an der Ausgabe des Formular definierst und ihm diese eben nach der Benutzung entziehst. Für unregistrierte Benutzer ist das allerdings nicht vollständig machbar. Schau mal in der dclp-faq. Da gibt es einen Beitrag über "schummelsichere Abstimmungen".
Kommentar