SessionID immerwieder neu generieren

ichhabenicht

Mitglied
Hallo,

vielleicht könnt ihr mir ja bischen weiter denken helfen, irgendwie krieg ich das vom lesen und denken nicht geregelt, brauche ne Diskursion. :)

Meine Überlegung. Ich vergebe eine SessionID und speicher dort alles wichtige ab, wie gehabt. Bei jedem laden der Seite erneuer ich aber die SID. Der user kriegt im Prinzip bei jedem reload der Seite eine neue SID, aber mit seinen Daten drin.

Geht sowas überhaupt? Was spricht dagegen?
 
Wofür sollte die SID neu vergeben werden? Der Sinn einer Session ist es Daten einer ID während einer Laufzeit zuzuweisen.
 
Sowas geht:
http://de2.php.net/manual/de/function.session-regenerate-id.php

Und da spricht nichts dagegen. Es dient sogar der Sicherheit.
Das ist gut. Weil wenn jemand die Session-ID des anderen rauskriegt und diese auf der Seite anwendet dann sieht er all seine Daten, ist in seinem Benutzerkonto usw.

So ein "Angriff" kannst du damit ein wenig verhindern:
PHP:
$id = session_id();  // "alte" ID speichern
session_regenerate_id();  // aktuelle Session auf andere ID übertragen
session_destroy($id); // alte Sitzung eliminieren

Erst wenn du die alte Sitzung eliminierst kannst du dir relativ sicher sein, dass ein möglicher "Angreifer" nicht in das Benutzerkonto allein über die Session-ID kommt. Die totale Sicherheit gibt es da aber leider nie ;)

Edit: Es kann noch sicherer werden, wenn du dein Session-System auf SQL umstellst. Dazu gibt es hier ein Tutorial: http://www.tutorials.de/forum/php-t...er-datenbank-speichern.html?highlight=session
Wenn du aber richtig blutiger Anfänger bist, arbeite zunächst mal mit der obigen Lösung und später kannst dann mal das Tutorial angucken.
 
Zuletzt bearbeitet:
Wenn du bei jeder Anfrage die Sitzungs-ID austauschst und die alte Sitzungs-ID ungültig machst (was du machen solltest, da sonst eine Sitzung mehrere Sitzungs-IDs hat), solltest du beachten, dass dadurch parallele Seitenaufrufe nicht möglich sind, sollte die Sitzungs-ID nicht per Cookie übertragen werden.
 
OK, das man die Seite ja auch mal doppelt auf haben will, habe ich nicht bedacht, ich mache das ja selber genauso.

Danke für die Infos.
 
Zuletzt bearbeitet:
Zurück