Hallo,
habe mich mal etwas durchs Weg gelesen und festgestellt das es ganz unterschiedliche LoginScript ansätze gibt...
Variante 1 prüft ob Username/Passwort stimmen und setzt dann einen Sessioncookie wie z.B. $_SESSION['login_erfolgreich']=1. Auf den geschützten Seiten wird dann nur gefragt ob login_erfolgreich==1 ist und dann wird der geschützte Content ausgegeben, ansonsten nicht.
Variante 2 speichert User und Pass beim einloggen neben dem login_erfolgreich in einem Sessioncookie und prüft dann im gegensatz zu variante 1 nicht nur beim einloggen in der DB auf korrektheit der daten, sondern dies wird obwohl login_erfolgreich==1 ist auf jeder geschützten seite nochmal durchgeführt. hierzu werden dann die im sessioncookie gespeicherten daten mit der in der DB vergleichen
Also meine Frage jetzt...wenn Sessions doch serverseitig gespeichert werden und vom Client da keine Manipulationsmöglichkeit besteht, warum verwenden dann viele Variante 2? Ein Check am anfang ob user/pass korrekt sind müsste doch reichen, die ändern sich doch nicht alle paar minuten?!?
Und wenn man Variante 2 benutzt, warum wird dann allgemein empfohlen die Passwörter verschlüsselt zu speichern...es heisst immer "klartextpasswörter in der session sind gefährlich..." aber warum wenn sie serverseitig liegt?
habe mich mal etwas durchs Weg gelesen und festgestellt das es ganz unterschiedliche LoginScript ansätze gibt...
Variante 1 prüft ob Username/Passwort stimmen und setzt dann einen Sessioncookie wie z.B. $_SESSION['login_erfolgreich']=1. Auf den geschützten Seiten wird dann nur gefragt ob login_erfolgreich==1 ist und dann wird der geschützte Content ausgegeben, ansonsten nicht.
Variante 2 speichert User und Pass beim einloggen neben dem login_erfolgreich in einem Sessioncookie und prüft dann im gegensatz zu variante 1 nicht nur beim einloggen in der DB auf korrektheit der daten, sondern dies wird obwohl login_erfolgreich==1 ist auf jeder geschützten seite nochmal durchgeführt. hierzu werden dann die im sessioncookie gespeicherten daten mit der in der DB vergleichen
Also meine Frage jetzt...wenn Sessions doch serverseitig gespeichert werden und vom Client da keine Manipulationsmöglichkeit besteht, warum verwenden dann viele Variante 2? Ein Check am anfang ob user/pass korrekt sind müsste doch reichen, die ändern sich doch nicht alle paar minuten?!?
Und wenn man Variante 2 benutzt, warum wird dann allgemein empfohlen die Passwörter verschlüsselt zu speichern...es heisst immer "klartextpasswörter in der session sind gefährlich..." aber warum wenn sie serverseitig liegt?
Comment