Heim  >  Artikel  >  PHP-Framework  >  So deaktivieren Sie CSRF in Laravel

So deaktivieren Sie CSRF in Laravel

青灯夜游
青灯夜游Original
2021-12-21 11:34:071953Durchsuche

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“.

So deaktivieren Sie CSRF in Laravel

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:

So deaktivieren Sie CSRF in Laravel

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:

So deaktivieren Sie CSRF in Laravel

Alle schließen

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 .


Teilweise geschlossen

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.

So deaktivieren Sie CSRF in Laravel

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!

Stellungnahme:
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