Ale×: automatisches Login - best practice

Beitrag lesen

Hallo,

ich überlege gerade, wie ich am besten eine Funktion zum automatischen Einloggen umsetze. Man soll also beim Einloggen auf einer Website die Möglichkeit haben, sich zukünftig an diesem Computer automatisch einloggen zu lassen.

Gegeben ist, dass nur Prüfsummen der Passwörter gespeichert werden und dass die Seite für das Login Session-Cookies verwendet und die Session-Daten auf dem Server automatisch aufgeräumt werden (es werden PHP-Sessions verwendet). Damit scheidet aus, einfach die Session-Dauer zu verlängern. Es muss also für den automatischen Login ein zusätzliches Cookie gesetzt werden. Nur wie macht man das am besten?

1. Variante: im Cookie wird das Passwort unverschlüsselt (oder in irgend einer umkehrbaren Verschlüsselung) gespeichert. Das ist natürlich ungünstig, da jeder, der Zugang zum Computer hat, das Passwort herausfinden kann.

2. Variante: für den automatischen Login wird ein Zufalls-String generiert. Im Cookie wird dieser selbst und auf dem Server seine Prüfsumme gespeichert. Eigentlich ist das nur eine Variation von Variante 1 und hat den Nachteil, dass der automatische Login nur an ein- und demselben Computer funktioniert.

3. Variante: Im Cookie wird die Prüfsumme (oder eine Prüfsumme der Prüfsumme) des Passwortes gespeichert (so wie auf dem Server gespeichert). Nachteil: wer an die Prüfsummen auf dem Server kommt, kann sich mit einem "selbst gebastelten" Cookie einloggen.

Das hat also alles einen Haken. Gibt es noch prinzipiell andere Möglichkeiten?

Ale×