Mailinglisten-Archive |
Lutz Zetzsche schrieb: > Hi Thomas, > > Zitat von Thomas Richter: > >>>Kann ich irgendwie dafür sorgen das PHP, falls es eine >>>Session ID bekommt zu >>>der es keine Session gibt eine neue Session ID erzeugt? >> >>bool session_regenerate_id ( void ) >> >>session_regenerate_id() will replace the current session id with a new >>one, and keep the current session information. > > ah, auch nicht schlecht. :-) Kurze Nachfrage, weil ich gerade keine Zeit habe, > es auszuprobieren (vielleicht weiss es hier jemand zufaellig schon): > > Wenn man zum Neusetzen session_id() verwendet, so wie ich es vorgeschlagen > hatte, gehen dann im Gegensatz zu session_regenerate_id() die > Session-Informationen, so sie vorhanden sind, verloren oder sind die beiden > Funktionen bei der vorliegenden Fragestellung nur zwei unterschiedliche Wege > zum selben Ziel? nein session_id() wird ja vor dem Start der Session aufgerufen, zumindest wenn man diese Funtkioen verwendet um eine neue Session-ID zu erzeugen, danach startet session_start() ja eine Session mit der aktuellen Session-ID, diese beinhaltet natürlich keine Daten, auch wenn es vorher eine Session gegeben hat für die ursprünglcih übergebene Session-ID, aber die haben wir ja verworfen udn eine neue erzeugt ist in seinem Fall aber unpraktisch da er so bei jedem Seitenaufruf die Session verliert. session_regenerate_id() hingegen wird ja erst aufgerufen wenn die Session läuft und ändert für diese Session die ID. wenn er nun lediglich eine neue ID haben will und ihm die Daten der Session egal sind (auch die Sicherheitsprobleme damit) reicht also: session_start(); if ( ! $_SESSION['sid'] === session_id() ) { session_regenerate_id(); $_SESSION['sid'] = session_id(); } man könnte auch ein Datum, Zeit oder sontwas nehmen .. -- Sebastian Mendel www.sebastianmendel.de www.warzonez.de www.tekkno4u.de www.nofetish.com www.sf.net/projects/phpdatetime www.sf.net/projects/phptimesheet
php::bar PHP Wiki - Listenarchive