Sessions - wo wird was gespeichert?

Hallo,

es gibt viel im Netz über Session-Variablen zu lesen. Doch nirgends finde ich eine klare Aussage zu folgender Frage:

Wo werden Variablen wie $_SESSION[‚username‘] (und ihre Werte) gespeichert?

  • Auf dem Client-Rechner mit einem serverbekannten Schlüssel kodiert?

  • Auf dem Server, der sie dort mit einem Schlüssel-Cookie vom Client zuordnet?

  • Ganz anders?

Vielen Dank für Eure schnelle Hilfe auf diese viel zu leichte Frage :smile:

JayKay

Hi,

  • Auf dem Client-Rechner mit einem serverbekannten Schlüssel

kodiert?

Meinst du nicht ernst - oder?

  • Auf dem Server, der sie dort mit einem Schlüssel-Cookie vom
    Client zuordnet?

  • Ganz anders?

rufe auf dem Server deiner Wahl mal die Funktion php_info() auf und suche nach der Variablen session.save_path

Die dort entstandenen Dateien - sobald eine Session geöffnet wurde - kann man mit einem Texteditor öffnen.

(Der Pfad steht auch in der php.ini - deren Inhalt man übrigens ruhig mal im Detail studieren sollte))

Gruss
Joey

Session-Variablen werden auf d. Server gespeichert
Hallo Joey,

danke für Deine Hilfe.

  • Auf dem Client-Rechner mit einem serverbekannten Schlüssel

kodiert?

Meinst du nicht ernst - oder?

Doch. Ich hatte es sogar eher vermutet als die andere Lösung. Es gibt doch auch Session-Cookies, die damit aber offenbar nicht zusammenhängen. Wofür sind dann die?

rufe auf dem Server deiner Wahl mal die Funktion php_info()
auf und suche nach der Variablen session.save_path

Die dort entstandenen Dateien - sobald eine Session geöffnet
wurde - kann man mit einem Texteditor öffnen.

Sehr interessant. Danke.

Grüße
JK

Hi,

Doch. Ich hatte es sogar eher vermutet als die andere Lösung.
Es gibt doch auch Session-Cookies, die damit aber offenbar
nicht zusammenhängen. Wofür sind dann die?

Session-Cookies sind ganz normale Cookies. In Cookies kann man alles mögliche speichern. In diesem Fall eben eine eindeutige Session-ID, welche wiederum mit einen Bereich auf dem Server korrespondiert, in welchem die privaten Session-Daten liegen. Dies muss übrigens nicht eine Datei sein, sondern kann auch nur im Speicher des WebServers stehen, oder zwischen WebServers geshared werden oder oder …

Alles andere wäre sicherheitstechnisches Harakiri.

Und jetzt kannst du auch erahnen, warum es so kritisch ist, wenn einer deine Session-ID mit Cross-Site-Scripting abfängt.

Gruss
Joey

1 Like

Sess.-Cookie a. Client, Sess.-Variablen a. Server
Hallo Joey,

Session-Cookies sind ganz normale Cookies. In Cookies kann man
alles mögliche speichern. In diesem Fall eben eine eindeutige
Session-ID, welche wiederum mit einen Bereich auf dem Server
korrespondiert, in welchem die privaten Session-Daten liegen.
Dies muss übrigens nicht eine Datei sein, sondern kann auch
nur im Speicher des WebServers stehen, oder zwischen
WebServers geshared werden oder oder …

Alles andere wäre sicherheitstechnisches Harakiri.

Und jetzt kannst du auch erahnen, warum es so kritisch ist,
wenn einer deine Session-ID mit Cross-Site-Scripting abfängt.

Japp, weil damit dem Server die Identität des Users vorgegaukelt werden kann.

Sehr schöne, griffige Erklärung. Solche Grundinformationen findet man in keinem Buch, keiner Webseite, keinem Tutorial dazu. Vielen Dank an Dich (+ Sternchen). :smile:

Grüßend
JayKay