Sven Rautenberg: session.use_trans_sid verhindert Zerstören der Session

Beitrag lesen

Moin!

Nun sollten wir das Ganze nochmal zusammentragen und in Self verewigen. Ich kann mich nämlich noch gut daran erinnern, was ich mich am Anfang schwer getan habe, weil die Szusammenhänge nirgens so klar beschrieben standen.

Als grundsätzliches Fazit muß man sagen: Nicht die Existenz einer Session darf maßgeblich für irgendwelche Aktionsmöglichkeiten (Eingeloggtsein etc.) sein, sondern deren _Zustand_, also die in den Sessiondaten gespeicherte Tatsache, ob jemand irgendwas darf.

Konkreter ausgedrückt:

  • Ich kann mich beispielsweise nicht darauf verlassen, dass Sessions nach der eingestellten Zeit sofort verschwinden und gelöscht werden, sondern muß für einen Timeout immer die Zeit des letzten Zugriffs in den Sessiondaten speichern und bei jedem erneuten Zugriff prüfen, ob die Zeit schon abgelaufen ist.

  • Ich kann ein Logout auch prima so hinkriegen, dass ich einfach ein Flag "eingeloggt" oder die Information "Username/Passwort", mit denen ich Zugriff auf die Datenbankeinträge kriegen würde, wieder gelöscht wird. Wenn danach jemand die Session wiederverwendet, und die Sessiondaten noch nicht gelöscht wurden, ist man zumindest nicht gleich eingeloggt.

  • Beides zusammen ist ein relativ sicherer Weg, Sessions mit Logoutmöglichkeit und Timeout abzusichern.

session_destroy() habe ich jedenfalls noch nicht wirklich benötigt. Kann natürlich auch sein, dass ich das irgendwie nicht so richtig verstanden habe. :)

- Sven Rautenberg

--
"Beim Stuff für's Web gibts kein Material, was sonst das Zeugs ist, aus dem die Sachen sind."
(fastix®, 13. Oktober 2003, 02:26 Uhr -> </archiv/2003/10/60137/#m338340>)