Heim >Backend-Entwicklung >PHP-Problem >So halten Sie den Benutzer in PHP angemeldet
So bleiben Sie in PHP angemeldet
1 Ändern Sie die Benutzerinformationen, z. B. ['uid'=>123 , 'username Das Array von '=>'testuser'] wird in eine Zeichenfolge serialisiert. Die Zeichenfolge wird mithilfe eines umkehrbaren Verschlüsselungsalgorithmus verschlüsselt und mit dem Schlüssel userinfo in ein COOKIE geschrieben.
2. Da der reversible Verschlüsselungsalgorithmus leicht zu entschlüsseln ist, können andere, sobald sie die Verschlüsselungsregeln erraten haben, den Inhalt dieses COOKIES leicht manipulieren und ihn dann gemäß den Verschlüsselungsregeln verschlüsseln und dann fälschen Es.
Also fügen wir einen weiteren Infodig-COOKIE hinzu, der den oben genannten Userinfo-COOKIE-Inhalt zum Salt hinzufügt und einen irreversiblen Verschlüsselungsalgorithmus verwendet, um einen Hash zu generieren. Kurz gesagt: , es muss vor der Außenseite geheim gehalten werden Der irreversible Algorithmus Zum Beispiel MD5 oder sogar MD5 mit Salt mehrfach.
3. Um die Sicherheit zu erhöhen und Benutzer vor XSS-Angriffen zu schützen, können Sie für die beiden oben genannten COOKIES das Attribut „nur http“ festlegen.
Nachdem der Server festgestellt hat, dass die beiden oben genannten COOKIEs vorhanden sind
1 Überprüfen Sie, ob infodig mit userinfo übereinstimmt (nachdem der Inhalt von userinfo mithilfe der Methode zur Generierung von infodig berechnet wurde, und COOKIE Ob die hochgeladene Infodig-Übereinstimmung mit der gleichen übereinstimmt)
2. Nachdem die Infodig-Überprüfung bestanden wurde, verwenden Sie den Entschlüsselungsalgorithmus, um die Benutzerinfo-Zeichenfolge zu entschlüsseln, um die Benutzerinformationen zu erhalten. Wenn die UID in den Benutzerinformationen im Benutzer vorhanden ist Tabelle, schreiben Sie SESSION und behalten Sie es während SESSION bei. Zusammenfassung dieser Sitzung
:
Es ist möglich, COOKIE zum Aufzeichnen von Benutzerinformationen zu verwenden (natürlich wird dies nicht empfohlen). Um benutzersensible Dinge wie E-Mail, Mobiltelefon und sogar Passwörter in COOKIE zu speichern, zeichnen Sie nur die Teile auf, die für die Anmeldung nützlich sind, wie z. B. UID, Benutzername und andere Identifikatoren, und Spitzname kann an einigen Stellen das Benutzererlebnis verbessern.) . Was sicher ist, ist, dass dieses COOKIE für den Benutzer sichtbar ist:
1. Versuchen Sie, es für Benutzer schwierig zu machen, es zu verstehen (umkehrbare Verschlüsselung). Algorithmus)
2. Selbst wenn der Benutzer es versteht, kann er es nicht einfach fälschen (irreversibler Verschlüsselungsalgorithmus). Spaltenalgorithmus)
Empfohlenes Tutorial: PHP-Video-Tutorial
Das obige ist der detaillierte Inhalt vonSo halten Sie den Benutzer in PHP angemeldet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!