Aktueller Standort: Startseite> Neueste Artikel> So verwenden Sie Middleware, um Angriffe (CSRF) CSRF-Angriffe (CSRF) im schlanken Framework zu verhindern

So verwenden Sie Middleware, um Angriffe (CSRF) CSRF-Angriffe (CSRF) im schlanken Framework zu verhindern

M66 2025-06-21

Verwenden Sie Middleware, um CSRF -Angriffe im schlanken Framework zu verhindern

Cross-Site Request Forgery (CSRF) ist eine gemeinsame Methode zum Cyberangriff. Angreifer zwingen Benutzer, böswillige Anfragen zu initiieren, indem sie die Benutzerauthentifizierungsinformationen auf protokollierten Websites ausnutzen. Um CSRF -Angriffe effektiv zu verhindern, bietet das schlanke Framework einen Mechanismus zum Schutz unter Verwendung von Middleware. Dieser Artikel enthält detaillierte Beschreibungen zum Implementieren des CSRF -Schutzes im Slim -Framework, einschließlich der Installationsschritte, zum Erstellen von Middleware, zum Konfigurieren von Anwendungen und zur Überprüfung von CSRF -Token.

Schritt 1: Installieren Sie das schlanke Framework

Zunächst müssen wir das schlanke Framework über Komponist installieren. Führen Sie den folgenden Befehl im Terminal aus, um ein neues Slim -Projekt zu erstellen:

Komponist erstellen-projekt-slim/schlankes my-App erstellen

Schritt 2: CSRF Middleware erstellen

Im schlanken Framework können wir den CSRF -Schutz durch Middleware -Mechanismen bewältigen. Dazu müssen wir eine Middleware -Datei mit dem Namen csrfMiddleware.php erstellen. Erstellen Sie zunächst ein Verzeichnis namens MiddleWares im Projektroot -Verzeichnis und erstellen Sie darin eine csrfMiddleware.php -Datei darin.

Hier ist ein Codebeispiel für CSRF Middleware:

<?php
namespace App\Middlewares;

class CsrfMiddleware extends SlimMiddlewareAntiCsrf
{
    public function call()
    {
        $this-> app-> Hook (&#39;Slim.before&#39;, [$ this, &#39;check&#39;]);
        $ this-> nächsten-> call ();
    }

    öffentliche Funktion validatestorage ()
    {
        if (! $ this-> app-> view ()-> getData (&#39;csrf_key&#39;) ||
            ! $ this-> app-> view ()-> getData (&#39;csrf_value&#39;)) {
            $ this-> app-> getLog ()-> fehler (&#39;CSRF-Validierungsfehler: fehlender CSRF-Schlüssel und/oder Wert&#39;);
            $ this-> App-> pass ();
        }
    }
}

Schritt 3: Registrieren Sie CSRF Middleware

Als nächstes müssen Sie die CSRF Middleware registrieren, die Sie gerade in der schlanken Anwendung erstellt haben. Fügen Sie den folgenden Code zur Datei index.php hinzu, um die Middleware zu registrieren:

$ app = new Slimapp ();
...
$ app-> add (neue App \ Middlewares \ csrfMiddleware ());
...
$ app-> run ();

Schritt 4: Fügen Sie CSRF -Token zur Form hinzu

Um die Form vor CSRF -Angriffen zu schützen, müssen wir der Form ein CSRF -Token hinzufügen. Dies wird erreicht, indem versteckte Felder in die Form eingefügt werden. Hier ist der Beispielcode zum Hinzufügen eines CSRF -Tokens:

<form action="/submit" method="post">
    <input type="hidden" name="csrf_key" value="{{ csrf_key }}">
    <input type="hidden" name="csrf_value" value="{{ csrf_value }}">
    <!-- Andere Formfelder -->
    <button type="submit">einreichen</button>
</form>

Schritt 5: Überprüfen Sie die Gültigkeit des CSRF -Tokens

Auf der Serverseite müssen wir überprüfen, ob das CSRF -Token in der eingereichten Anfrage gültig ist. Hier ist ein Beispiel Routing -Prozessorcode:

$ app-> post (&#39;/subieren&#39;, Funktion ($ request, $ response) {
    $ data = $ request-> getParsedBody (); // Anforderungsparameter abrufen // CSRF -Token $ csrf_key = $ data [&#39;csrf_key&#39;];
    $ csrf_value = $ data [&#39;csrf_value&#39;];

    if (! $ app-> csrf-> check ($ csrf_key, $ csrf_value)) {
        // CSRF Token-Überprüfung fehlgeschlagen $ response-> getBody ()-> write (&#39;CSRF-Validierung fehlgeschlagen&#39;);
        return $ response-> witstatus (403);
    }

    // Verarbeitungsformulareingabe // ...

    $ response-> getbody ()-> write (&#39;erfolgreich eingereicht&#39;);
    $ response return;
});

Zusammenfassen

Durch die Verwendung von Middleware im Slim -Framework können wir den CSRF -Schutz problemlos implementieren. Erstellen Sie zuerst CSRF Middleware, um das Token zu überprüfen und zu verarbeiten, und fügen Sie dann CSRF -Token zum Formular hinzu, um die Sicherheit von Benutzeranforderungen sicherzustellen. Auf diese Weise kann das schlanke Framework CSRF -Angriffe effektiv verhindern und die Sicherheit der Anwendung verbessern.