Aktueller Standort: Startseite> Neueste Artikel> Verwenden Sie JWT (JSON Web Token), um die PHP -Sicherheitsüberprüfung zu implementieren

Verwenden Sie JWT (JSON Web Token), um die PHP -Sicherheitsüberprüfung zu implementieren

M66 2025-06-04

Einführung in JWT in PHP

JWT (JSON Web Token) ist ein offener Standard, der in der Identitätsauthentifizierung und des Informationsaustauschs weit verbreitet ist. Es besteht aus drei Teilen: Header, Nutzlast und Signatur. JWT kann verwendet werden, um Benutzeridentitätsdaten zwischen Client und Server sicher zu übergeben.

Vorbereitung für die Integration von JWT in das PHP -Projekt

Es ist sehr einfach, JWT -Funktionen in PHP zu integrieren, und es wird empfohlen, die von Firebase JWT bereitgestellte offizielle PHP -Bibliothek zu verwenden. Installieren Sie die Bibliothek über Komponist:

 composer require firebase/php-jwt

Beispielcode zum Generieren von JWT

Das Folgende ist die Standardmethode, um JWTs zu generieren, einschließlich der grundlegenden Identitätsinformationen des Benutzers:

 
<?php

require_once 'vendor/autoload.php';

use Firebase\JWT\JWT;

// Definieren Sie den Schlüssel
$key = "Schlüssel";

// Benutzerdatenlast erstellen
$payload = array(
    "iss" => "example.org",
    "sub" => "user_id",
    "name" => "John Doe"
);

// erzeugen JWT
$jwt = JWT::encode($payload, $key);
echo $jwt;

?>

In diesem Code stellen wir die FireBase JWT -Bibliothek vor und verwenden die Methode jwt :: cnode (), um eine JWT -Zeichenfolge zu generieren, die Benutzerinformationen enthält.

Überprüfen Sie, wie JWT implementiert ist

Wenn ein Benutzer anfordert, müssen Sie überprüfen, ob das von ihm bereitgestellte JWT gültig ist. Das Folgende ist der Überprüfungs -Beispielcode:

 
<?php

require_once 'vendor/autoload.php';

use Firebase\JWT\JWT;

// Angenommen, das erhalten JWT
$jwt = "JWT";

// Schlüssel(需与erzeugen时一致)
$key = "Schlüssel";

try {
    // Überprüfen und dekodieren JWT
    $decoded = JWT::decode($jwt, $key, array('HS256'));

    // Ausgabe dekodierter Benutzerinformationen
    echo "BenutzerID: " . $decoded->sub . "<br>";
    echo "Benutzer名: " . $decoded->name . "<br>";

} catch (Exception $e) {
    echo 'Überprüfung fehlgeschlagen:' . $e->getMessage();
}

?>

In diesem Code erhalten wir den vom Client übergebenen JWT, führen die Signaturüberprüfung über den angegebenen Schlüssel durch und extrahieren Benutzerinformationen mit der Methode jwt :: decode () . Wenn das Token ungültig ist, wird eine Ausnahme geworfen und eine Fehlermeldung ausgegeben.

Zusammenfassen

Durch die Verwendung von JWT können PHP -Anwendungen Daten sicherer authentifizieren und übertragen. Mit der Firebase JWT-PHP-Bibliothek können Entwickler schnell tokenbasierte Sicherheitsauthentifizierungsmechanismen integrieren, um ein leichtes und effizientes Berechtigungsmanagement zu erreichen.