Hallo Malcolm,
Mit session_regenerate_id (natürlich mit
$delete_old_session
auftrue
gesetzt).Würde es genügen, wenn ich nach dem Login session-regenerate-id einmalig starte und im späteren Scriptverlauf wieder deaktiviere? dauerhaft nutzen möchte ich es nicht wirklich.
Ja. Es langt, das einmal direkt nach dem erfolgreichen Login zu machen, allerdings bevor eine Antwort an den User geschickt wird.
Die oben erwähnte Funktion erzeugt eine neue Session-ID, so dass ein potentieller Angreifer nicht dieselbe Session-ID verwenden kann, mit der er den User zum Login-Form geschickt hat (Stichwort Session Fixation). Die alte Session-ID ist dann schlicht und ergreifend nicht länger mit der Session des Users verknüpft.
Nach dreimaligem lesen habe ich es verstanden, klingt Logisch.
Es tut mir leid, dass das so schwer verständlich war; darf ich fragen, woran es lag? Dann wäre ich beim nächsten mal vielleicht in der Lage mich verständlicher auszudrücken.
Machen Hacker das so? Also das sie die User zu meinem Formular schicken?
Achso, Hacker rufen die Seite auf, generieren so eine Session-ID, und schicken dann den User mit dieser Session auf meine Seite.
Richtig.
Und wenn der User sich dann mit dieser Session anmeldet, ist der Hacker automatisch auch eingeloggt?
Naja, da er die Session-ID des Users kennt: ja. Er muss ja nur die gleiche Session-ID zum Server schicken.
Können wir auf meiner Seite probieren, ob das geht? Du kannst dich mit einzelnen Buchstaben registrieren und sofort einloggen. Auf der Seite stehen auch alle benötigten Daten, bspw. was in der Session und was in den Cookies gespeichert ist. Können wir mich hacken?
Ehrlich gesagt geht mir das jetzt ein wenig zu weit.
LG,
CK