phpbar.de logo

Mailinglisten-Archive

[php] Neue Session ID erzwingen

[php] Neue Session ID erzwingen

Sebastian Mendel lists at sebastianmendel.de
Don Jul 1 11:03:03 CEST 2004


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