phpbar.de logo

Mailinglisten-Archive

[php] Session automatisch beenden, wenn Fenster geschlossen wird

[php] Session automatisch beenden, wenn Fenster geschlossen wird

Peter Petermann PPetermann at vivaplus.tv
Mon Feb 9 14:18:07 CET 2004


Hi,

> >   wie kann ich erreichen, dass eine Session beim Schliessen des
> >   Browserfensters automatisch zerstört wird? Ich habe das 
> >   Gefühl, den Wald vor lauter Bäumen nicht zu sehen...
> 
> Wenn die Session nicht als Cookie gespeichter wird sollte sie 
> das eigentlich 
> tun.
Die cookies der PHP Sessionverwaltung erlöschen im allgemeinen nach dem 
Schliessen der letzten Browserinstanz.

Allerdings hat das verhalten auf cientseite die session lediglich nichtmehr zu kennen 
Nichts mit dem zerstören der Session zu tun, den bis zum timeout existieren die daten
Weiter, und wer die SID hat, kommt auch ran.
(z.b. wenn sie angehängt übergeben ist, und weiterhin in der history steht.)

> Da ich sebst die Sessinverwaltung nicht so detaiiet kenne, 
> mache ich meistens  meins Sessions selbst und schreibe meine Variablen 
> serialisiert in ein großes Datenbankfeld:
Warum einfach, wenns auch umständlich geht?


> Dazu generiere ich mir eine Session-id und schreibe die 
> IP-Nummer auch noch in die Datenbank, dass heist, 
> der Verlust der Session-ID führt zum erlöschen der 
> Session.
Negativ, auch bei dir erlöscht nicht die Session, sie wird lediglich clientseitig,
vergessen.

Wofür speicherst du die IP mit?


> Problem: In der Browser History ist die ID gespeichert!
> Workaround: Timstamp läuft irgendwann ab:
> $q = "UPDATE user SET ip=0, sid=0 WHERE now()-zeit > 9000"
Timeout, machen die PHP Sessions von selbst, was mich wundert ist,
Bei deiner lösung behälst du die sessiondaten gespeichert, weißt sie lediglich niemandem mehr zu?
Wozu das?

Mit freundlichen Grüßen,
Peter Petermann
--
Peter Petermann,  VIVA PLUS Fernsehen GmbH,  Digital Asset Management
Adresse: Schanzenstrasse 22, 51063 Köln  Mail: ppetermann at vivaplus.tv
Telefon: +49 (221) 6509 5035,            Fax:    +49 (221) 6509 95035
                * Non scholae sed vitae discimus.* 

php::bar PHP Wiki   -   Listenarchive