2016-07-02 13 views
0

Zur Zeit können sich auf meiner Website mehrere Personen technisch mit demselben Benutzernamen und demselben Passwort auf verschiedenen Computern gleichzeitig anmelden.Nur eine Instanz eines Benutzers auf einer Website eingeloggt

Ich möchte es so einrichten, dass, wenn sich jemand anmeldet, automatisch jede mit diesem Benutzer verknüpfte Sitzung beendet wird. Auf diese Weise kann immer nur eine Instanz eines bestimmten Benutzers angemeldet sein.

Ich versuche herauszufinden, wie dies zu implementieren ist. Wie kann jemand, der sich anmeldet und eine neue Sitzung erstellt, eine bestimmte Sitzung auf einer anderen Maschine zerstören?

+0

Einfach Benutzer IP bei der Anmeldung in der Datenbank und in einer Sitzung. Wenn Sitzungs-IP mit dem in der Datenbank übereinstimmt, ist es in Ordnung. Wenn nicht, Umleitung zu einer Sitzung Seite zerstören. – icecub

+0

Nach IP, Browser oder sogar Betriebssystem. – Chay22

+0

@icecub Es gibt so etwas wie dynamische IPs. Diese Lösung von Ihnen ignoriert dies vollständig. –

Antwort

0

Fügen Sie ein Feld namens "login_token" hinzu (machen Sie es zu einer zufällig generierten Zeichenfolge) und generieren Sie bei jeder Anmeldung des Benutzers eine neue Zeichenfolge und aktualisieren Sie das Feld login_token. Speichern Sie auch das login_token in der Sitzung. Wenn der Wert login_token eines Benutzers nicht mit dem Wert in der Datenbank übereinstimmt, beenden Sie die Sitzung.

+0

Nice one, scheint wie eine einfache Lösung. Vielen Dank – dlofrodloh

Verwandte Themen