Heim Backend-Entwicklung PHP-Tutorial Schützen Sie Ihre Anwendung mit CSRF in Lithe

Schützen Sie Ihre Anwendung mit CSRF in Lithe

Nov 11, 2024 am 01:36 AM

Protecting Your Application with CSRF in Lithe

In diesem Tutorial erfahren Sie, wie Sie den CSRF-Schutz (Cross-Site Request Forgery) in Lithe implementieren, um zu verhindern, dass unerwünschte Anfragen an Ihre Anwendung gestellt werden. Diese Anleitung richtet sich an Anfänger, daher gehen wir Schritt für Schritt vor!


Was ist CSRF?

CSRF oder Cross-Site Request Forgery ist eine Angriffsart, bei der ein Benutzer dazu verleitet wird, eine nicht autorisierte Aktion auf einer Website auszuführen, auf der er authentifiziert ist. Dieser Angriff ist gefährlich, da der Angreifer Daten manipulieren oder auf gesperrte Bereiche zugreifen kann. Um dies zu verhindern, fügen wir eine Sicherheitsebene hinzu, die die Verarbeitung verdächtiger Anfragen verhindert.


Aufbau des Tutorials

  1. Lithe einrichten
  2. CSRF-Middleware installieren
  3. CSRF-Token im Backend hinzufügen
  4. Überprüfen Sie das Token im Backend
  5. Senden Sie den Token vom Frontend
  6. CSRF-Schutz testen

Lasst uns anfangen!


Schritt 1: Lithe einrichten

Wenn Sie Lithe noch nicht eingerichtet haben, beginnen Sie mit der Installation des Frameworks mit dem folgenden Befehl:

composer create-project lithephp/lithephp project-name
cd project-name
Nach dem Login kopieren
Nach dem Login kopieren

Dadurch entsteht eine Grundstruktur für Ihr Projekt mit Lithe.


Schritt 2: CSRF-Middleware installieren

Die CSRF-Middleware hilft bei der Generierung und Validierung von CSRF-Tokens. Um es zu installieren, führen Sie im Terminal Ihres Projekts den folgenden Befehl aus:

composer require lithemod/csrf
Nach dem Login kopieren
Nach dem Login kopieren

Schritt 3: CSRF-Middleware konfigurieren

Jetzt müssen wir Lithe mitteilen, dass wir die CSRF-Middleware verwenden möchten. Öffnen Sie die Hauptdatei src/App.php und fügen Sie die CSRF-Middleware hinzu.

use Lithe\Middleware\Security\csrf;
use function Lithe\Orbis\Http\Router\router;

$app = new \Lithe\App;

// Configure the CSRF middleware with automatic checking in the request body
$app->use(csrf([
    'expire' => 600, // Token expiration after 10 minutes
    'checkBody' => true, // Enables automatic checking in the body
    'bodyMethods' => ['POST', 'PUT', 'DELETE'], // Defines the methods for checking CSRF in the body
]));

$app->use(router(__DIR__ . '/routes/web'));

$app->listen();
Nach dem Login kopieren

Damit ist die CSRF-Middleware in unserer Anwendung aktiv und jede schutzbedürftige Anfrage muss ein gültiges Token enthalten.


Schritt 4: Generieren des CSRF-Tokens

Um den CSRF-Schutz zu nutzen, müssen wir ein eindeutiges Token generieren und es in die Anfragen aufnehmen. Wir erstellen eine Route zum Senden eines Formulars, das automatisch das CSRF-Token enthält.

  1. Erstellen Sie eine Datei mit dem Namen src/routes/web.php und fügen Sie die Formularroute mit einem Feld für das CSRF-Token hinzu.
use Lithe\Http\{Request, Response};
use function Lithe\Orbis\Http\Router\get;

get('/form', function (Request $req, Response $res) {
    // Generate the CSRF token field
    $tokenField = $req->csrf->getTokenField();

    // Send the HTML with the token included in the form
    return $res->send("
        <form method='POST' action='/submit'>
            $tokenField
            <input type='text' name='data' placeholder='Type something' required>
            <button type='submit'>Submit</button>
        </form>
    ");
});
Nach dem Login kopieren
  1. Diese Route erstellt ein Formular, das das CSRF-Token-Feld enthält. Das Feld ist Pflichtfeld, damit Lithe die Echtheit der Anfrage überprüfen kann.

Schritt 5: Überprüfen des Tokens im Backend

Beim Absenden des Formulars prüft Lithe automatisch, ob der Token gültig ist. Erstellen wir nun die Route, die das Formular empfängt und verarbeitet.

  1. Fügen Sie in derselben Datei src/routes/web.php die Route zur Verarbeitung der Formularübermittlung hinzu.
composer create-project lithephp/lithephp project-name
cd project-name
Nach dem Login kopieren
Nach dem Login kopieren

Wenn das Token ungültig ist oder fehlt, blockiert Lithe automatisch die Anfrage und gibt einen Fehler zurück.


Schritt 6: Senden von Anfragen mit dem CSRF-Token

Wenn Sie im Frontend eine POST-Anfrage (oder eine andere datenverändernde Methode) senden müssen, ist es wichtig, das CSRF-Token in den Hauptteil der Anfrage oder in den Header aufzunehmen, je nachdem, wie Sie Ihre Middleware konfiguriert haben.

Beispiel mit der JavaScript-Abruf-API

Für diejenigen, die JavaScript verwenden, ist hier ein Beispiel, wie das Token mit einer Abrufanforderung gesendet wird:

composer require lithemod/csrf
Nach dem Login kopieren
Nach dem Login kopieren

Schritt 7: Testen des CSRF-Schutzes

  1. Greifen Sie in Ihrem Browser auf die /form-Route zu. Sie sehen das Formular mit dem enthaltenen CSRF-Token.
  2. Füllen Sie das Feld aus und senden Sie das Formular ab.
  3. Wenn alles funktioniert, sehen Sie eine Erfolgsmeldung mit den gesendeten Daten.

Zusammenfassung und abschließende Überlegungen

In diesem Tutorial haben wir Folgendes gelernt:

  • Was CSRF ist und warum es wichtig ist.
  • So richten Sie eine CSRF-Middleware in Lithe ein.
  • So generieren und überprüfen Sie CSRF-Tokens im Backend.
  • So senden Sie CSRF-Tokens mit Formularen und AJAX-Anfragen.

Mit der Implementierung dieses Schutzes machen Sie Ihre Anwendung sicherer gegen CSRF-Angriffe und tragen so zum Schutz der Integrität der Daten Ihrer Benutzer bei.

Ausführlichere Informationen finden Sie in der offiziellen Lithe-Dokumentation.

Das obige ist der detaillierte Inhalt vonSchützen Sie Ihre Anwendung mit CSRF in Lithe. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Apr 05, 2025 am 12:04 AM

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Erklären Sie das Konzept der späten statischen Bindung in PHP. Erklären Sie das Konzept der späten statischen Bindung in PHP. Mar 21, 2025 pm 01:33 PM

In Artikel wird die in PHP 5.3 eingeführte LSB -Bindung (LSB) erörtert, die die Laufzeitauflösung der statischen Methode ermöglicht, um eine flexiblere Vererbung zu erfordern. Die praktischen Anwendungen und potenziellen Perfo von LSB

Rahmensicherheitsmerkmale: Schutz vor Schwachstellen. Rahmensicherheitsmerkmale: Schutz vor Schwachstellen. Mar 28, 2025 pm 05:11 PM

In Artikel werden wichtige Sicherheitsfunktionen in Frameworks erörtert, um vor Schwachstellen zu schützen, einschließlich Eingabevalidierung, Authentifizierung und regelmäßigen Aktualisierungen.

Anpassung/Erweiterung von Frameworks: So fügen Sie benutzerdefinierte Funktionen hinzu. Anpassung/Erweiterung von Frameworks: So fügen Sie benutzerdefinierte Funktionen hinzu. Mar 28, 2025 pm 05:12 PM

In dem Artikel werden Frameworks hinzugefügt, das sich auf das Verständnis der Architektur, das Identifizieren von Erweiterungspunkten und Best Practices für die Integration und Debuggierung hinzufügen.

Wie sende ich eine Postanforderung mit JSON -Daten mithilfe der Curl -Bibliothek von PHP? Wie sende ich eine Postanforderung mit JSON -Daten mithilfe der Curl -Bibliothek von PHP? Apr 01, 2025 pm 03:12 PM

Senden von JSON -Daten mithilfe der Curl -Bibliothek von PHP in der PHP -Entwicklung müssen häufig mit externen APIs interagieren. Eine der gängigen Möglichkeiten besteht darin, die Curl Library zu verwenden, um Post � ...

Beschreiben Sie die soliden Prinzipien und wie sie sich für die PHP -Entwicklung anwenden. Beschreiben Sie die soliden Prinzipien und wie sie sich für die PHP -Entwicklung anwenden. Apr 03, 2025 am 12:04 AM

Die Anwendung des soliden Prinzips in der PHP -Entwicklung umfasst: 1. Prinzip der Einzelverantwortung (SRP): Jede Klasse ist nur für eine Funktion verantwortlich. 2. Open and Close Principle (OCP): Änderungen werden eher durch Erweiterung als durch Modifikation erreicht. 3.. Lischs Substitutionsprinzip (LSP): Unterklassen können Basisklassen ersetzen, ohne die Programmgenauigkeit zu beeinträchtigen. 4. Schnittstellen-Isolationsprinzip (ISP): Verwenden Sie feinkörnige Schnittstellen, um Abhängigkeiten und nicht verwendete Methoden zu vermeiden. 5. Abhängigkeitsinversionsprinzip (DIP): Hoch- und niedrige Module beruhen auf der Abstraktion und werden durch Abhängigkeitsinjektion implementiert.

Was genau ist das nicht blockierende Merkmal von ReactPhp? Wie gehe ich mit seinen blockierenden E/A -Operationen um? Was genau ist das nicht blockierende Merkmal von ReactPhp? Wie gehe ich mit seinen blockierenden E/A -Operationen um? Apr 01, 2025 pm 03:09 PM

Eine offizielle Einführung in das nicht blockierende Merkmal der detaillierten Interpretation der nicht blockierenden Funktion von ReactPhp hat viele Fragen vieler Entwickler gestellt: "Reactphpisnon-BlockingByDefault ...

See all articles