kleine Frage zu Sessions

fanste

Erfahrenes Mitglied
Hallo.
Ich habe nur eine kleine Frage:
Bei mir gibt es einen User Login, der auf Sessions basiert. Wenn man sich also einloggt, wird die Session ID dann in einen Cookie gespeichert. Kann man dem User, wenn die Session ID auch wirklich beim Clienten abgespeichert ist, diese wieder verwenden?
Das meine ich so:
- Man loggt sich ein.
- Man erhält seine ID.
- Diese ID kommt in einen Cookie.
- Wenn der User jetzt das Fenster schließt, ohne Logout und dann etwas später wieder
kommt, soll diese Id wieder verwendet werden.

Ich hoffe, das die Frage so verständlich gestellt wurde.

mb fanste
 
@heddesheimer
Ich meinte damit nicht den Session Cookie sondern einen Cookie, den ich via set_cookie() erstelle.
@Jörg
Das muss ich mir nochmal durch den Kopf gehen lassen. Wegen dem Code meine Ich.
 
Leider haben die wenigsten hier Zugriff auf die php.ini

Änderbar: PHP_INI_ALL

braucht also nicht in der php.ini geändert zu werden. Es reicht auch im Skript.

Wirklich sauber wird es allerdings erst, wenn du z.B. für eine Funktion "Login merken" die Zugangsdaten direkt in einem Cookie ablegst. Bei der Notlösung mit session.cookie_lifetime kann es dir immer noch passieren, dass die Session-Daten zwischenzeitlich auf dem Server durch die Garbage-Collection gelöscht wurden.

Für eine Funktion "Login merken" solltest du den Usernamen und das Passwort (Passwort allerdings verschlüsselt) in dem Cookie ablegen. Aus Datenschutzgründen möglichst nur dann verwenden, wenn der User das auch wirklich so angefordert hat (z.B. über eine Checkbox beim Login).

Das Passwort könntest du über MD5 verschlüsseln, damit kein unberechtigter das Passwort im Klartext aus den Cookies auslesen kann. Eine 100%-ige Sicherheit erreichst du damit aber nie, weil sich dann jeder unberechtigt anmelden kann, der die Cookie-Daten kopiert hat.

Marian
 
Zuletzt bearbeitet:
Du könntest die in der Sitzung gespeicherten Daten auch zusätzlich in einer Datenbank speichern. Damit wäre die Daten auch noch nach Verfall der Sitzung existent und bei Wiederaufnahme der Sitzung verfügbar. Siehe dazu auch die session_set_save_handler()-Funktion und ein Tutorial, wie diese Funktion in Verbindung mit einer Datenbank genutzt werden kann.
 
Um ein letztes Mal auf dein Getrolle/Geflame einzugehen:
safe_mode? cgi-modul? Shared Hosting?

Es gibt n-Varianten, in der das nicht möglich ist.
Das kann man alles mit sauberer und überdachter Programmierung umgehen und muss nicht jedesmal in irgendwelchen Einstellungen rumpfuschen, die Skript 2 nachher wieder anders braucht.

Sorry, soll kein Angriff sein, es gibt leider viel zu viele Wege vernünftigen Code zu umgehen....
 
Zuletzt bearbeitet:
Zurück