Heim > Artikel > PHP-Framework > So deaktivieren Sie CSRF in Laravel
Methode: 1. Öffnen Sie die Datei „Kernel.php“ unter der App, suchen Sie den Code „AppHttpMiddlewareVerifyCsrfToken“ und kommentieren Sie ihn aus. 2. Öffnen Sie die Datei „VerifyCsrfToken.PHP“ unter der App und ändern Sie das Attribut „$exclusive“.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, Laravel 5-Version, DELL G3-Computer.
Wenn Sie Laravel verwenden, kennen Sie die CSRF-Überprüfungsfunktion. Wenn beim Übergeben des Post-Werts kein csrf_token vorhanden ist, wird der folgende Fehler gemeldet:
Dies liegt daran, dass in Versionen nach 5.2 Web vorhanden ist Wird der Route standardmäßig durch Middleware hinzugefügt.
In der Datei app/Http/Kernel.php gibt es die folgende Konfiguration:
An diesem Punkt muss jeder wissen, wie man diese Überprüfung deaktiviert. Kommentieren Sie einfach die im Bild oben markierte Codezeile aus, wodurch die CSRF-Überprüfung deaktiviert wird, aber dadurch wird alles deaktiviert .
Wenn wir die Schnittstelle schreiben, werden wir auf dieses Problem stoßen: Da csrf_token nicht über die Schnittstelle geleitet werden kann (csrf_token wird in Laravel generiert), möchten wir die CSRF-Überprüfung nur deaktivieren, wenn API-Anfragen gestellt werden, der Hintergrund der Website ist nicht geschlossen.
Dazu muss die Datei appHttpMiddlewareVerifyCsrfToken.php geändert werden.
In der Datei gibt es ein Attribut $exclusive, mit dem festgelegt werden kann, welche Routen keiner CSRF-Überprüfung unterliegen müssen. Ich möchte, dass die Routen, die mit api beginnen, nicht überprüft werden müssen Vorbehaltlich der CSRF-Überprüfung reicht es aus, „api/*“ hinzuzufügen.
Auf diese Weise erhalte ich keine Fehlermeldung, wenn ich http://***/laravel/public/api/index besuche.
Verwandte Empfehlungen: Die neuesten fünf Laravel-Video-Tutorials
Das obige ist der detaillierte Inhalt vonSo deaktivieren Sie CSRF in Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!