phpbar.de logo

Mailinglisten-Archive

[php] Reload Sperre

[php] Reload Sperre

Ulf Wendel ulf_(at)_redsys.de
Wed, 01 Mar 2000 22:04:40 +0000


Rene Paschold wrote:
> leider habe ich keine Ahnung von Sessions. Bei uns auf dem Server
> läuft nur PHP3 ohne PHPLIB !! *schnief*

Oh, es muß keine PHPLIB sein... Du hattest schon den richtigen
Grundgedanken. Javaskript kann ein Reload nicht vermeiden. Es muß auf
der Seite von PHP realisiert werden.

Um ein Reload zu erkennen, muß man dem User beim ersten Besuch der Seite
eine eindeutige ID verpassen ( = ID aus einer großen Menge möglicher
ID's) und checken ob bei den Folgebesuchen die ID existiert, oder ein an
die ID gebundener Counter bereits inkrementiert wurde.

In den letzen Wochen lief recht fiel zum Thema Session-ID und Plazierung
der Session-ID. Bitte blätter mal etwas im Archiv.

Die Session-ID kann in einem Cookie gespeichert werden (deine Variante)
oder irgendwo in der URL stehen. Die Nachteile des Cookies sind bekannt.
Falls die Session-ID in der URL kodiert wird, sieht es im einfachsten
Fall so aus:

ulf.php3?id=1282jdjklsj0829048jlldsjl

PHP sieht die Variable id (die gefälscht werden kann, deswegen
Cookie...) . Die ID wird mit Zugriffsdatum in der DB gespeichert. Wird
binnen eines festgelegten Zeitraums die ID erneut erkannt, kannst Du es
als Reload definieren.

Damit die Datenbanktabelle nicht endlos viele Daten enthält, baust Du
Dir eine zufallsgesteuerte garbage collection, die bei jedem x-ten
Aufruf aufräumt.

Ulf


php::bar PHP Wiki   -   Listenarchive