phpbar.de logo

Mailinglisten-Archive

[php] 1/2 OT Session und Google Cache

[php] 1/2 OT Session und Google Cache

Sebastian Mendel lists at sebastianmendel.de
Mon Dez 4 16:02:50 CET 2006


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