Problembeschreibung:
Ein Benutzer hat Probleme mit seinem PHP Anmeldeskript. Das Skript zielt darauf ab, eine Datenbank abzufragen und basierend auf den Benutzeranmeldeinformationen ein Token und einen allgemeinen Benutzerauthentifizierungscode in eine separate Tabelle einzufügen. Allerdings überprüft das Skript derzeit nicht die Tokentabelle. Darüber hinaus möchte der Benutzer den Benutzernamen des angemeldeten Benutzers auf Seiten anzeigen, die Zugriffsbeschränkungen erfordern.
Lösung:
1. Datenbankbereinigung:
Die bereitgestellten MySQL-Tabellen sind nicht sicher. Die Passwortspalte sollte für zusätzlichen Schutz in einem Hash-Format gespeichert werden.
2. Zentralisierung der Anmeldefunktionalität:
Anstatt den Anmeldecode auf mehreren Seiten zu wiederholen, erstellen Sie eine separate init.php-Datei, um die Datenbankverbindung und die Anmeldeinitialisierung zu verwalten. Diese Datei kann in jede PHP-Seite eingebunden werden, die eine Anmeldefunktion erfordert.
3. Verbessertes Anmeldeskript:
Schreiben Sie das Anmeldeskript in ajax/login.php neu, um Benutzereingaben zu bereinigen, Anmeldeinformationen anhand der Datenbank zu überprüfen und PHP-Sitzungen zum Speichern der Informationen des angemeldeten Benutzers zu verwenden.
4. Verwenden von Ajax für die Anmeldung:
Implementieren Sie Ajax, um Anmeldeanfragen asynchron vom Anmeldeformular aus zu verarbeiten. Dies verhindert das Neuladen der Seite und sorgt für ein benutzerfreundlicheres Erlebnis.
5. Zugriffsbeschränkung:
Fügen Sie auf Seiten, die eine Anmeldung erfordern, zu Beginn eine Verifizierungsprüfung hinzu, um nicht authentifizierte Benutzer zur Anmeldeseite umzuleiten.
6. Benutzername anzeigen:
Verwenden Sie PHP-Sitzungen, um den Benutzernamen des angemeldeten Benutzers zu speichern. Auf Seiten, auf denen der Benutzername angezeigt werden soll, geben Sie den Wert einfach mit echo $_SESSION['username']; aus.
Zusätzliche Tipps:
Das obige ist der detaillierte Inhalt vonWie baut man in PHP ein sicheres und benutzerfreundliches Login-System nur für Mitglieder auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!