Auge: Refresh Schutz

Beitrag lesen

Hallo

Eine pfiffige Idee dürfte ein "Zeitstempel" sein, den man dem Formular mitgibt:
  <input type=hidden name=zeit value=0522171522>
Also am 22.05. um 17:15:22. Könnte man noch auf hundertstel Sekunden ausweiten.

Wenn dieser Zeitstempel zum zweiten Mal kommt: Ignorieren.

MMh kapier ich net wie das funzen soll kannst mal n kleines beispiel posten. Was ist mit meiner Sessions Idee??

Im Formular gibt es das oben gezeigte, versteckte Element. Es wird übermittelt und folgendermaßen ausgewertet.

  • Gibt es den Zeitstempel (in der Datei zeit.txt) nicht, speichere ihn in zeit.txt Datei ab. Weiterhin mache mit den Formulardaten das, was gemacht werden soll.
  • Ist der Zeitstempel in der Datei zeit.txt bereits vorhanden ignoriere die Formulardaten, da diese schon einmal übermittelt wurden.

Das ist ein sehr einfaches System. Es hat aber den Nachteil, dass es auf einer sehr stark frequentierten Seite vorkommen kann, dass zwei verschiedenen Besuchern der gleiche Zeitstempel zugewiesen werden kann, da sie die Seite zur gleichen Zeit ausgeliefert bekommen (vorausgesetzt, der Zeitstempel wird serverseitig z.B. per PHP gesetzt). Dies wäre logischerweise ein Fehler.
Deshalb afras Zusatz: "Könnte man noch auf hundertstel Sekunden ausweiten.", was die Wahrscheinlichkeit dieses Fehlers herabsetzt.

Durch eine Kombination mit deinem Session-Ansatz kann man das vermeiden.

Dazu speicherst du den Zeitstempel in der Session. Die Daten der Session werden normalerweise auf dem Server in Dateien gespeichert. Funktioniert also erstmal genau so, wie afras Ansatz. Der Vorteil liegt darin, dass es für jeden Besucher, für den eine Session angelegt wird, eine eigene Datei gibt. Er ist also, durch seine Session(-Datei) eindeutig zu identifizieren, womit der oben beschriebene Fehler nicht auftreten kann.

Tschö, Auge

--
Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
(Victor Hugo)
Veranstaltungsdatenbank Vdb 0.1