Heim >Backend-Entwicklung >PHP-Tutorial >Wann und wie wird der 419-Statuscode in Laravel POST- und PUT-Anfragen behandelt?
Den 419-Statuscode in der Laravel-API für POST- und PUT-Methoden verstehen
Bei der Entwicklung von RESTful-APIs mit Laravel stößt man häufig auf einen 419 Statuscode bei POST- oder PUT-Anfragen. Dieser Statuscode zeigt an, dass die Anfrage aufgrund des Fehlens eines gültigen CSRF-Tokens abgelehnt wurde.
Ursache
Standardmäßig verwendet Laravel CSRF-Tokens zum Schutz vor Cross -Site Request Forgery (CSRF)-Angriffe. Bei Verwendung der Web-Middleware-Gruppe für API-Routen ist die CSRF-Überprüfung aktiviert und jede Anfrage, die den Status der Anwendung ändert (z. B. POST oder PUT), erfordert ein gültiges Token.
Für Nicht-Web -basierte APIs
Wenn Sie APIs entwickeln, die nicht für die Verwendung über einen Webbrowser vorgesehen sind (z. B. mobile Apps oder Befehlszeilentools), ist ein CSRF-Schutz nicht erforderlich, da dies in diesen Umgebungen der Fall ist normalerweise nicht anfällig für CSRF-Angriffe.
Um die CSRF-Überprüfung für nicht webbasierte APIs zu deaktivieren, können Sie die API-Routen außerhalb der Web-Middleware-Gruppe in der Datei „routes/web.php“ verschieben oder die Datei „api.php“ verwenden Datei stattdessen. In api.php ist die CSRF-Validierung automatisch deaktiviert.
Für webbasierte APIs
Wenn Sie APIs entwickeln, auf die über einen Webbrowser zugegriffen wird, müssen Sie Möglicherweise möchten Sie vermeiden, die gesamte API-Routengruppe von der CSRF-Überprüfung auszuschließen. Stattdessen können Sie gezielt bestimmte Routen ausschließen, von denen Sie wissen, dass sie keinen CSRF-Angriffen ausgesetzt sind.
Fügen Sie dazu diese Routen zum $exclusive-Array in der VerifyCsrfToken-Middleware hinzu:
<code class="php">namespace App\Http\Middleware; use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier; class VerifyCsrfToken extends BaseVerifier { protected $except = [ '/api/stripe/*', '/api/non-susceptible-route', ]; }</code>
Dieser Ansatz ermöglicht es Ihnen, den CSRF-Schutz für die meisten Ihrer API-Routen aufrechtzuerhalten und gleichzeitig bestimmte Routen auszunehmen, die wahrscheinlich kein Ziel von CSRF-Angriffen sind.
Das obige ist der detaillierte Inhalt vonWann und wie wird der 419-Statuscode in Laravel POST- und PUT-Anfragen behandelt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!