Zerstört sich Session von selbst?
Gerhard
- php
Läuft eine Session Client- oder Serverseitig?
Muss ich mir also Gedanken machen um eine laufende Session wenn jemand einfach die Seite verlässt, ohne dass vorher session_destroy() aufgerufen wird?
Können sich viele solche Sessions am Webspeicher anhäufen oder so?
Um die Anzahl der Personen zu zählen, die derzeit online sind, bekommt jeder User eine session_id
Diese IDs werden in einer Tabelle meiner DB gespeichert und mit einem time() wert versehen, wenn der gespeicherte time()-wert um z.b. 5 minuten kleiner ist als der aktuelle time()-wert, dann lösche ich die session_id aus der tabelle
muss ich dann mit der session-kennung auch irgendwie die session zerstören?
session_destroy() hat ja keine parameter
danke vielmals
lg gerhard
Hi Gerhard,
Läuft eine Session Client- oder Serverseitig?
http://tut.php-q.net/sessions.html (insb Abschn. 6)
Muss ich mir also Gedanken machen um eine laufende Session wenn jemand einfach die Seite verlässt, ohne dass vorher session_destroy() aufgerufen wird?
Hm, so lange die Session noch existiert könnte jemand, der die Session ID des Users besitzt als dieser User "eingeloggt" oder was auch immer sein - geht aber auch, während der richtige User noch da ist.
Können sich viele solche Sessions am Webspeicher anhäufen oder so?
php.ini Eintrag session.gc_maxlifetime
muss ich dann mit der session-kennung auch irgendwie die session zerstören?
session_destroy() hat ja keine parameter
<Zitat von http://de.php.net/manual/de/function.session-destroy.php>
session_destroy() löscht alle in Verbindung mit der aktuellen Session stehenden Daten.
</zitat>
MfG, Dennis.
Hello,
muss ich dann mit der session-kennung auch irgendwie die session zerstören?
session_destroy() hat ja keine parameter<Zitat von http://de.php.net/manual/de/function.session-destroy.php>
session_destroy() löscht alle in Verbindung mit der aktuellen Session stehenden Daten.
</zitat>
... mit Ausnahme des Cookies auf dem Client. Den muss man selber löschen bzw. den Client höflich bitten, iehn zu entfernen. Wenn man das nämlich nicht macht, ist die Session ggf. mit dem nächsten Request wieder da, wenn das Script ein Session_Start() enthält. Dann ist die Sessiondatei zwar i.d.R. leer, aber eben wieder vorhanden.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hi Tom,
<Zitat von http://de.php.net/manual/de/function.session-destroy.php>
session_destroy() löscht alle in Verbindung mit der aktuellen Session stehenden Daten.
</zitat>... mit Ausnahme des Cookies auf dem Client. Den muss man selber löschen bzw. den Client höflich bitten, iehn zu entfernen. Wenn man das nämlich nicht macht, ist die Session ggf. mit dem nächsten Request wieder da, wenn das Script ein Session_Start() enthält. Dann ist die Sessiondatei zwar i.d.R. leer, aber eben wieder vorhanden.
Hm, gemäß einigen Versuchen die ich vor einiger Zeit mal (auf einem Windows System, das mag schon was heißen *g*) durchgeführt habe, wird die Sessiondatei bei Aufruf von session_destroy() gelöscht - somit ist es eigentlich nach einem Aufruf dieser Funktion (sofern Server korrekt konfiguriert) nicht mehr möglich, dass Daten in später "noch vorhanden" sein können.
MfG, Dennis.