Tom: session.use_trans_sid verhindert Zerstören der Session

Beitrag lesen

Hallo Sven,

Ja, und? Wenn der nächste Request mit der gleichen Session-ID kommt, wird die Datei wieder leer angelegt und die Session geht (vielleicht - das ist ja der Streitpunkt - mit leeren Daten) weiter.

Genauso hatte ich's bereits beschrieben an irgend einer Stelle in diesem Thread...

Was natürlich nicht so ganz stimmte, dass die Sessionverwaltung NUR in $_COOKIE[$sessionname] nachschaut. Das hattest Du schon besser auf den Punkt gebracht.

Nun sollten wir das Ganze nochmal zusammentragen und in Self verewigen. Ich kann mich nämlich noch gut daran erinnern, was ich mich am Anfang schwer getan habe, weil die Szusammenhänge nirgens so klar beschrieben standen. Da habe ich auch noch drei kleine Spielscripte:

------------------------
<?php     #### session_starten.php ####
session_start();

if (strlen(SID)>0)
{
  echo "Session Nr ".SID." wurd neu gestartet<br>";
}

echo "Die aktuelle Sessionnummer lautet: ".session_id()."<br>";

?>
<a href="session_fortsetzen.php">Session fortsetzen</a>
-------------------------
<?php     #### session_fortsetzen.php ####
session_start();

if (strlen(SID)>0)
{
  echo "Session Nr ".SID." wurd neu gestartet<br>";
}
else
{
  echo "Session wurde fortgesetzt.<br>".
       "Die Sessionnummer lautet: ".session_id()."<br>";
}
?>
<a href="session_killen.php">Session zerstören</a>
--------------------------
<?php     #### session_killen.php ####
session_start();

if (strlen(SID)>0)
{
  echo "Session Nr ".SID." wurd neu gestartet<br>";
}
else
{
  echo "Session wurde fortgesetzt.<br>".
       "Die Sessionnummer lautet: ".session_id()."<br>";
}

session_destroy();
echo "Session wurde soeben beendet.<br>".
?>
<a href="session_starten.php">Session starten</a>
--------------------------

Man könnte noch ein fileexist auf die Sessiondatei einbauen...
Man könnte Werte übergeben und kontrolliern ob sie drinstehen
Man könnte sich die Cookie-Variablen anschauen
Man könnte mit den ini-Parametern herumspielen
Man könnte die Rechte im Dateisystem verändern (Sessionverzeichnis)
Man könnte den Sessionnamen ändern
Man könnte unter dem Sessionnamen einen Eintrag in $_COOKIE machen
...

Irgendwann mach ich mein Script doch nochmal fertig ;-)

Grüße

Tom