Mailinglisten-Archive |
Ringo Großer schrieb: > Hallo Sebastian, > > Sebastian Mendel wrote: >> dann funktioniert vielleicht dir 'garbage collection' nicht richtig, >> oder das session.timeout ist nicht richtig eingestellt, eventuell >> hilft es ja auch extra noch in der Session die Zeit zu speichern und >> diese zu überprüfen. > > Am 04.12.2006 besuche ich durch Zufall sämtliche Links in Verbindung > mit dem noch bestehenden Eintrag im Google Cache nochmals und > erhalte nun beim Zugriff auf die aktuelle Seite unter Verwendung wieder > der selben Session-ID eine laufende Sitzung mit Userdaten. > Die session.gc_maxlifetime ist am Server auf 1440 gesetzt. Also mit > 24 Minuten ein durchaus nicht unüblicher Wert. Außerdem genug Zeit, > damit die Sitzung mit der selben ID, die ich am 03.12.2006 erzwungen > hatte, längst expired sein dürfte. ob und wann die Session-Daten gelöscht werden hängt aber nciht allein von session.gc_maxlifetime ab sondern auch von session.gc_probability session.gc_divisor hast du dir denn das Verzeichnis mal angeschaut, wie alt die Daten da drinn so sind? Ich vermute mal FAT wirst du sicher nicht haben? "Note: If you are using the default file-based session handler, your filesystem must keep track of access times (atime). Windows FAT does not so you will have to come up with another way to handle garbage collecting your session if you are stuck with a FAT filesystem or any other filesystem where atime tracking is not available. Since PHP 4.2.3 it has used mtime (modified date) instead of atime. So, you won't have problems with filesystems where atime tracking is not available." > Greife ich nun aktuell auf wieder die gleiche aktuelle Version meiner > Webseite unter Verwendung der URL mit betreffender immernoch > gleicher Session-ID zu, dann erhalte ich wieder eine nicht authorisierte > Sitzung, so wie ich es zu jedem Zeitpunkt erwarten würde. > > Meine Schlussfolgerung insgesamt: > Zwischen der Verwendung der Session-ID in meiner "erzwungenen" > Sitzung am 03.12.2006 und der automatischen Vergabe an einen > User am 04.12.2006 gegen Vormittag lag ausreichend Zeit, dass > die alte Session aufgeräumt wurde. Der Zeitraum ist aber relativ > kurz, damit sich diese ID wiederholt. > Lässt man nun die erzwungende Session-ID außer Acht, weil diese > ja nicht auf Basis der microtime (falls das wirklich die Grundlage > für den md5-Hash der Session-ID ist) generiert wurde, so muss man > hier den Zeitraum vom 24.11.2006 zum 04.12.2006 als Turnus ansehen, > in welchem sich eine automatisch generierte Session-ID wiederholt hat. > Ob sie in der Zwischenzeit sogar noch häufiger aufgetreten ist, lässt > sich nicht beweisen aber auch nicht auschließen. Für mich ist es aber > nun ein unumstößlicher Fakt, dass die Session-ID überhaupt wiederholt > aufgetreten ist. Die Wahrscheinlichkeit das sich eine Session-ID wiederholt ist nahezu unmöglich e5c33ec219d3677d6eac2b240fce3b6f das sind 32 Zeichen, jedes dieser Zeichen kann 0-f, also 16 Zustände haben macht 32^16 macht 1 zu 1208925819614629174706176 also durchaus im Rahmen des möglichen ... alles davon ausgehend das bei dir alles richtig konfiguriert ist und funktioniert -- Sebastian Mendel www.sebastianmendel.de
php::bar PHP Wiki - Listenarchive