Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Grundlagen eines Remember-Me-Systems

Dafür gibt es verschiedene Methoden. Ein sicheres Methode wäre, der MySQL-Benutzertabelle ein Feld hinzuzufügen und einen "remember_me"-Hash zu haben, der nur ein zufällig generierter Hash ist.

Der Hash sollte in einem Cookie auf dem Computer des Benutzers gespeichert werden, ebenso wie die Benutzer-ID zu Validierungszwecken, wie lange die Erinnerungsdauer dauert (Sie sollten auch die Erinnerungsfrist in der DB als Zeitstempel für zusätzliche Sicherheit festlegen). Wenn sie Ihre Website aufrufen, sehen Sie, ob dieses Cookie gesetzt ist. Wenn dies der Fall ist, authentifizieren Sie einfach den Hash für die Benutzer-ID. Wenn es validiert, gelten sie als angemeldet. Wenn es nicht validiert, dann senden Sie sie an eine Anmeldeseite / sie gelten nicht als angemeldet.

So richte ich die meisten meiner Websites ein. Das Problem ist, dass sie, wenn sie sich von einem anderen Computer aus anmelden, nun auf dem Computer, den sie verwendet haben, nicht mehr validiert sind und sich erneut authentifizieren müssen. Aber Sicherheit ist mir wichtiger, als dass sie sich aufgrund dieser Situation erneut anmelden müssen.

BEARBEITEN:Siehe Kommentare unten für zusätzliche Informationen zu den Sitzungen / Sicherheit.