phpbar.de logo

Mailinglisten-Archive

[php] Session management und files nach best. Zeit =?iso-8859-1?Q?l=F6schen?=

[php] Session management und files nach best. Zeit =?iso-8859-1?Q?l=F6schen?=

Oliver Kummerow naklar_(at)_altavista.net
Thu, 08 Jul 1999 00:06:01 +0200


Hi,

> vernünftiges Session-Management. Im Augenblick wird nur der Wert einer Datei
> gelesen, inkrementiert und wieder gespeichert und als session-id benutzt,

Risiko! Wenn irgendwo GET verwendet wird, kann man sich uber die
URL-Zeile ggf. in eine fremde Session einklinken. Wenn ich Userid = 5
sehe, oder irgendwelche periodischen Abstaende, dann bekomme ich immer
so ein Kribbeln in den Fingern ;-)

> aber das ist bei ein wenig Traffic sicher keine gute Lösung. Das ganze
> sollte zunächst noch ohne SQL funktionieren.

Fuer's Session-Management? SQL ist da Kanonen auf Spatzen.

> Eine andere Idee, die ich hatte, war mit tempnam eine zu machen, da für
> jeden Besucher ein File angelegt wird. Aber so richtig elegant ist das auch
> nicht. Hat jemand von Euch 'ne bessere Idee?

Das Standardverfahren duerfte wohl die Generierung einer Zufallszahl
sein. Die muss dann aber konsequent durch die ganze Sitzung geschleift
werden, also in jedem Hyperlink und bei FORM immer ein Input hidden
verwenden. Ich habe mir mal sagen lassen, dass die Erzeugung
folgendermassen gut geht:  $userid = md5(uniqid(rand())); 

> Das zweite Prob was ich habe ist folgendes:
> Wenn ein Besucher Sachen in seinen Korb wirft, und die Site verläßt, ohne zu
> bestellen, ist die Datei, in dem die Korbdaten gespeichert sind, ja noch
> vorhanden, was durchaus unerwünscht ist. Gibts da ne Möglichkeit, solche
> Datein automatisch löschen zu lassen, wenn Sie z.B. 3 Stunden alt sind???
> Wahrscheinlich nicht mit PHP, oder?

Naja, haeng doch einfach an irgendeine Aktion, die eh' etwas dauert,
z.B. das ausfuellen eines Formulars, eine Loeschroutine dran.
Symbolische query = "Delete from cart where ordertime < ( now - $periode
)". Loeschen geht uebrigens schnell, also da ist ueberhaupt kein
Performanceproblem zu befuerchten, zumindest in einer mit Indizes
arbeitenden DB. Bei Files ist aber auch gorssartig nichts zu
befuerchten.


Mit freundlichen Grüßen,
Oliver Kummerow
email: naklar_(at)_altavista.net


php::bar PHP Wiki   -   Listenarchive