Mailinglisten-Archive |
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am Donnerstag 03 Juni 2004 23:11 schrieb Reinhold Riedersberger: > Wie kann ich denn nach dem Betätigen der Schaltfläche im Formular, die > das Eintragen der Daten in die Datenbank bewirkt, verhindern, daß > durch ein "aktualisieren" des Browsers der Datensatz erneut > eingetragen wird? ich habe mir für mein browsergame eine recht sichere und für den coder einfache variante entwickelt, die genau in mein session-verwaltung eingreift. in der sessions-tabelle ist noch ein extra feld, dass sich "next_form_reply" nennt (mir is nix besseres eingefallen) und vom typ varchar(32) ist. nun bastel ich mir automatisch bei jedem request einen unique key (per unique_id(), microtime() und md5()) der kommt da in das datenbank feld rein und auch als get- oder post variable ins formular (je nachdem was grad besser ist). wenn das formular nun abgeschickt wird, überprüft mein system, bevor es etwas anderes macht, ob eine nfr-variable übergeben wurde und wenn ja, dann wird geschaut, ob sie sich mit derjenigen in der datenbank gleicht. ist dies der fall, ist alles ok, sollte dem nicht so sein, wurde das formular ein zweites mal abgeschickt und das system stopp an diesem punkt und zeigt dem benutzer eine meldung an, dass er das bitte unterlassen soll. und ich findes, dieses system ist - zumindest für meine zwecke - genau richtig - -- MfG Michael Siebert -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) iD8DBQFAwDqHao3uR0c9690RAklCAKCXBq1L4RgvXXKHq//qYrbFxq+AwACgocbv GyT7An65vuZsVqYa5BUn53s= =HmkS -----END PGP SIGNATURE-----
php::bar PHP Wiki - Listenarchive