sessions ist eine gute Möglichkeit, dies zu tun, und ist eine sehr verbreitete Methode zur Authentifizierung zu steuern.
Die Strömung in der Regel etwas wie folgt aussieht:
- Nutzer besucht Website und session_start() aufgerufen. Eine eindeutige Sitzungskennung wird für diesen Besucher festgelegt (dh ein Cookie).
- Benutzer sendet seine Anmeldedaten zu einem Anmeldeformular
- Anmeldeinformationen überprüft werden, und diese Tatsache wird in den Sitzungsdaten mit
$_SESSION['logged_in'] = true
, oder etwas ähnliches
- Für den Rest des Benutzers Zeit auf der Website gespeichert, Sie kann
$_SESSION['logged_in']
überprüfen, um zu sehen, ob der Benutzer angemeldet hat.
um einen Benutzer Logins zu steuern, können Sie einfach in einer Datenbank ein Feld haben (users
Tabelle ist in Ordnung), das anzeigt, was die aktuelle Session-ID (abgerufen mit session_id()
) für den Benutzer, und wenn es nicht den Cookie-Wert übereinstimmt, den Sie jus t erhalten, dann rufen Sie sofort session_destroy()
für diese ID an und betrachten den Benutzer als ausgeloggt.
Die Verwendung von $_SESSION
bedeutet, dass Sie sich keine Gedanken über das Generieren eigener Tokens machen müssen und die integrierten Superglobals nutzen können, um Informationen über den Authentifizierungsstatus des Benutzers zu speichern.
Persönlich würde ich mehrere Sitzungen für einen Benutzer für die meisten Websites aktiv sein, da es in der Regel keinen guten Grund nicht gibt, aber es hängt natürlich von der Art der Website ab. Jedoch, wie oben erwähnt die aktuelle aktive Session-ID zu speichern ist eine ziemlich einfache Art und Weise, dies zu erreichen.
Speichern der Sitzungs-ID in der Datenbank ist noch besser. – TravisO
Das würde auch funktionieren, TravisO :) – Sampson