So verhindern Sie eine wiederholte Anmeldung in PHP: 1. Ermitteln Sie die ID der aktuell geöffneten Browsersitzung. 2. Stellen Sie fest, ob die Sitzungs-ID in der Datenbank mit der aktuellen Sitzungs-ID übereinstimmt. Wenn sie nicht gleich sind, müssen Sie springen und protokollieren wieder rein.
Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
php verhindert, dass sich Benutzer wiederholt anmelden
Lassen Sie uns zunächst einige Einstellungen der Sitzung verstehen:
ini_set('session.auto_start',0);
Set um den automatischen Start der Sitzung zu deaktivieren
ini_set('session.cookie_lifetime',0);
Stellen Sie die Sitzung so ein, dass sie beim Schließen des Browsers abläuft. Es ist nicht erforderlich, die Dauer der Sitzung festzulegen nicht geschlossen
Sie kennen wahrscheinlich die oben genannten Einstellungen, dann beginnen wir mit dem Verständnis des heutigen Inhalts. Immer wenn sich ein Benutzer bei einem Konto anmeldet, öffnet er einen Browser und es wird automatisch eine Sitzungs-ID generiert (einzigartig innerhalb des Gültigkeitszeitraums). Anschließend speichern wir diese eindeutige ID in der Benutzertabelle (die aktuelle Sitzung wird jedes Mal aktualisiert, wenn er sich anmeldet). Der Wert von session_id in der Kontobenutzertabelle. Auf diese Weise müssen alle Schnittstellen nach der Anmeldung feststellen, ob die Sitzungs-ID () des aktuellen Browsers mit der Sitzungs-ID der Benutzertabelle der Datenbank übereinstimmt. Wenn sie inkonsistent sind, wird angezeigt, dass das aktuelle Konto online ist Sie müssen sich erneut anmelden, bevor Sie seine Anmeldung ablehnen können. (Das heißt, es kann sich jeweils nur ein Benutzer anmelden. Benutzer, die sich später anmelden, verdrängen Benutzer, die sich früher bei dem Konto angemeldet haben.)
Für weitere Details werfen wir einen Blick auf den Code: (Das werde ich nicht tun Gehen Sie auf Details zu anderen Codes ein, die nicht mit dem Code dieses Tweets zusammenhängen in der Datenbank
Das zweite Feld: Bestimmen Sie, ob die Sitzungs-ID in der Datenbank mit der aktuellen Sitzungs-ID übereinstimmt. Wenn nicht, aktualisieren Sie die Sitzungs-ID in der aktuellen Datenbank. Wenn gleich, geben Sie 3 direkt an das Front-End-Ajax zurück
In der Schnittstelle index.php zeigt dieses Feld an, ob die aktuelle session_id() gleich der session_id der Datenbank ist. Wenn sie nicht gleich sind, bedeutet dies, dass das aktuelle Konto bereits angemeldet ist und die session_id gleich ist nicht gleich, und Sie müssen springen und sich erneut anmelden.
Empfohlenes Lernen: „
PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonSo verbieten Sie die wiederholte Anmeldung in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!