Hallo,
Faustregel: Jedes mal, wenn sich in einer Session die Privilegien erhöhen (Nicht eingloggt -> eingeloggt z.B.), sollte eine neue Session-ID erzeugt werden (session_regenerate_id), um Session-Fixation-Angriffe zu verhindern.
Das mach ich doch oder?
if (!isset( $_SESSION['server_SID'] )) {
session_unset();
$_SESSION = array();
session_destroy();
session_start();
session_regenerate_id();
$_SESSION['server_SID'] = TRUE;
}
Nein, da machst Du das nur, wenn die Session nicht initialisiert war, \*nicht\* wenn die Privilegien erhöht werden. In dem Moment, in dem der User sich einloggt (d.h. die Passwortüberprüfung erfolgreich ist), \*genau dann\* muss session\_regenerate\_id() genutzt werden. Die Stelle, an der Du es verwendest, ist zwar nicht schädlich, aber auch nicht wirklich nützlich... (Wobei die Reihenfolge von den ganzen Session-Aufrufen an dieser Codestelle irgendwie seltsam ist... Was ist die Logik dahinter?)
Viele Grüße,
Christian
--
[Mein "Weblog"](http://del.icio.us/chris_se/servertipps) [[RSS](http://del.icio.us/rss/chris_se/servertipps)]
[Using XSLT to create JSON output](http://www.christian-seiler.de/projekte/xslt-json/) (Saxon-B 9.0 for Java)
[How to tell the difference between a science fan and a scientist.](http://www.smbc-comics.com/index.php?db=comics&id=1777#comic)