JWT ist derzeit eine beliebte domänenübergreifende Authentifizierungslösung. Ihr Prinzip besteht darin, Benutzerinformationen zu verschlüsseln, um ein Token zu generieren. Bei jeder Anfrage an den Server muss nur der gespeicherte Schlüssel verwendet werden Korrektheit des Tokens, und es besteht keine Notwendigkeit, es erneut zu speichern. Alle Sitzungsdaten machen den Server zustandslos.
Die JWT-Überprüfungsmethode besteht darin, Benutzerinformationen zu verschlüsseln, um ein Token zu generieren. Jedes Mal, wenn der Server eine Anfrage anfordert, muss er nur den gespeicherten Schlüssel zur Überprüfung verwenden Die Richtigkeit des Tokens ist nicht erforderlich. Es werden keine Sitzungsdaten gespeichert und der Server wird zustandslos, was eine einfache Erweiterung ermöglicht.
Benutzerinformationen vor der Verschlüsselung, wie zum Beispiel:
{ "username": "vist", "role": "admin", "expire": "2018-12-08 20:20:20" }
Vom Client empfangenes Token:
7cd357af816b907f2cc9acbe9c3b4625
JWT-Struktur
A The Der Token ist in 3 Teile unterteilt:
Header
Payload
Signatur (Signatur)
Die drei Teile werden durch „.“ getrennt, wie zum Beispiel:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
Header
JWT Der Header-Teil ist ein JSON-Objekt, das Metadaten beschreibt, normalerweise:
{ "typ": "JWT", "alg": "HS256" }
typ ist der Deklarationstyp, geben Sie „JWT“ an
alg ist der Verschlüsselungsalgorithmus, der Standardwert ist „HS256“
Load
Load (Nutzlast) ist der Datenträger, der zum Speichern der tatsächlichen Dateninformationen verwendet wird, die übertragen werden müssen, und ist außerdem ein JSON-Objekt.
JWT offiziell empfohlene Felder:
iss: jwt-Aussteller
-
sub: jwt für Benutzer
aud: die Partei, die das JWT erhält
Exp: die Ablaufzeit des JWT, diese Ablaufzeit muss größer sein als die Ausstellungszeit
nbf: Definieren Sie den Zeitpunkt, vor dem das JWT nicht verfügbar ist.
iat: Der Ausstellungszeitpunkt des JWT
jti: Die einzigartige Identität von jwt, die hauptsächlich als einmaliges Token verwendet wird, um Wiederholungsangriffe zu vermeiden.
Sie können auch benutzerdefinierte Felder verwenden, wie zum Beispiel:
{ "username": "vist", "role": "admin" }
Signatur
Der Signaturteil ist ein Vergleich der ersten beiden Teile (Header-Teil, Nutzlast), um Datenmanipulationen zu verhindern.
Folgen Sie zum Generieren den folgenden Schritten:
1. Geben Sie zuerst das Geheimnis an
2. Konvertieren Sie die Header- und Nutzlastinformationen jeweils in base64
3. Verschlüsseln Sie mit dem im Header angegebenen Algorithmus
Schließlich, Signatur = HMACSHA256(base64UrlEncode(header) + "." + base64UrlEncode(payload),secret)
Die vom Client erhaltene Signatur:
header.payload.signature
Das JWT kann auch neu verschlüsselt werden.
Empfohlenes Tutorial: „PHP“
Das obige ist der detaillierte Inhalt vonWas macht JWT?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Der Artikel vergleicht Säure- und Basisdatenbankmodelle, wobei die Eigenschaften und angemessene Anwendungsfälle beschrieben werden. Säure priorisiert die Datenintegrität und -konsistenz, geeignet für finanzielle und E-Commerce-Anwendungen, während sich die Basis auf die Verfügbarkeit konzentriert und

In dem Artikel wird das Sicherung von PHP -Dateien -Uploads erläutert, um Schwachstellen wie die Code -Injektion zu verhindern. Es konzentriert sich auf die Dateitypvalidierung, den sicheren Speicher und die Fehlerbehandlung, um die Anwendungssicherheit zu verbessern.

In Artikel werden Best Practices für die Validierung der PHP-Eingabe erörtert, um die Sicherheit zu verbessern und sich auf Techniken wie die Verwendung integrierter Funktionen, den Whitelist-Ansatz und die serverseitige Validierung zu konzentrieren.

In dem Artikel werden Strategien zur Implementierung der API-Rate in PHP erörtert, einschließlich Algorithmen wie Token-Bucket und Leaky Bucket sowie Bibliotheken wie Symfony/Rate-Limiter. Es deckt auch die Überwachung, die dynamischen Einstellungsgeschwindigkeiten und die Hand ab

Der Artikel beschreibt die Vorteile der Verwendung von Password_hash und Passage_verify in PHP zum Sichern von Passwörtern. Das Hauptargument besteht

In dem Artikel werden OWASP Top 10 Schwachstellen in PHP- und Minderungsstrategien erörtert. Zu den wichtigsten Problemen gehören die Injektion, die kaputte Authentifizierung und XSS mit empfohlenen Tools zur Überwachung und Sicherung von PHP -Anwendungen.

In dem Artikel werden Strategien erörtert, um XSS-Angriffe in PHP zu verhindern, sich auf die Eingabe von Eingaben, die Ausgabecodierung und die Verwendung von Bibliotheken und Frameworks für Sicherheitsförderungen zu konzentrieren.

In dem Artikel wird die Verwendung von Schnittstellen und abstrakten Klassen in PHP erörtert und konzentriert sich darauf, wann sie jeweils verwendet werden sollen. Schnittstellen definieren einen Vertrag ohne Implementierung, der für nicht verwandte Klassen und multiple Vererbung geeignet ist. Abstrakte Klassen liefern eine gemeinsame Funktion


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

EditPlus chinesische Crack-Version
Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

Dreamweaver CS6
Visuelle Webentwicklungstools

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software