Mailinglisten-Archive |
Hi Alexander, [...] > > ja, ich mache es so das im LOGOFF auf jeden Fall ein GC laufen sollte > - also wenn sich ein User mal richtig abmeldet sollte er auf jeden > Fall laufen: Warum? Ich wuerde, wenn ueberhaupt, den GC-Lauf beim einloggen anstossen lassen. Die Wahrscheinlichkeit, dass sich jemand einloggt (einloggen muss) - und damit ein GC-Lauf angestossen wird - ist bestimmt hoeher, als dass sich jemand ordnungsgemaess abmeldet. Soll heissen, es gibt wahrscheinlich mehr Leute, die sich nicht ordnungsgemaess abmelden. Problematisch sind doch nur die Leute, die sich anmelden(einloggen) und nicht ordnungsgemaess abmelden: diese erzeugen Sessiondaten, die auf dem Server liegen bleiben. Bei denen, die sich ordnungsgemaess abmelden, kannst Du doch session_unset bzw. $_SESSION = array(); und session_destroy() verwenden. Folglich sollten in Deinem session.save_path nur noch Sessiondaten liegen, die von Usern stammen, die sich nicht richtig ausgeloggt haben. Da bei jedem Einloggen auf jeden Fall ein GC-Lauf stattfindet, werden alle Sessiondaten, die eine atime/mtime (je nach PHP Version) > session.gc_maxlifetime haben, geloescht. Der einzige Fall, dass abgelaufene/ungültige Sessiondaten rumliegen, tritt jetzt nur auf, wenn sich innerhalb von 24 Minuten niemand neu einloggt. Bei dieser Variante (auf jeden Fall GC-Lauf beim Einloggen und Sessiondaten beim ordnungsgemaessen Abmelden) solltest Du bedenken, dass dieses Verfahren mit steigender Anzahl von Leuten immer weniger perormant wird. Ich wuerde eher nur beim ordnungsgemaessen logout die Session zerstoeren, was allerdings den (Performance-) Nachteil hat, wenn sich jemand ordnungsgemaess ausloggt und wenig spaeter wieder einloggt (ohne den Browser zu schliessen) das gesendete Sessioncookie ungueltig ist und eine neue Session gestartet wird, Wenn Du noch mehr auf Sicherheit achten musst/willst, solltest Du nach einem session_destroy auf jeden Fall auch das Sessioncookie loeschen (was nicht automatisch passiert.) [...] > > Wenn ich nun feststelle das noch jemand angemeldet ist obwohl er > nicht mehr da ist, Wie stelltst Du das fest? [...] > > > Typo in php.ini? > > Typo? meint Tippfehler > > Session-relevanter Auszug von php.ini? > > So wie ich das sehe alles auf default? sieht so aus ;-) Gruesse Friedhelm
php::bar PHP Wiki - Listenarchive