ホームページ >バックエンド開発 >PHPチュートリアル >Laravel POST および PUT リクエストで 419 ステータス コードをいつどのように処理するか?
Laravel API の POST および PUT メソッドの 419 ステータス コードを理解する
Laravel で RESTful API を開発する場合、419 が発生するのが一般的ですPOST または PUT リクエストを行うときのステータス コード。このステータス コードは、有効な CSRF トークンがないためにリクエストが拒否されたことを示します。
根本原因
デフォルトでは、Laravel はクロスから保護するために CSRF トークンを使用します。 -サイト リクエスト フォージェリ (CSRF) 攻撃。 API ルートに Web ミドルウェア グループを使用する場合、CSRF 検証が有効になり、アプリケーションの状態を変更するリクエスト (POST や PUT など) には有効なトークンが必要です。
非 Web の場合- ベースの API
Web ブラウザーからの使用を目的としていない API (モバイル アプリやコマンドライン ツールなど) を開発している場合、これらの環境は CSRF 保護を行う必要はありません。通常、CSRF 攻撃の影響を受けません。
非 Web ベース API の CSRF 検証を無効にするには、routes/web.php ファイル内の Web ミドルウェア グループの外に API ルートを移動するか、api.php を使用します。代わりにファイルを作成します。 api.php では、CSRF 検証は自動的に無効になります。
Web ベース API の場合
Web ブラウザからアクセスされる API を開発している場合は、 API ルート グループ全体を CSRF 検証から除外することを避けたい場合があります。代わりに、CSRF 攻撃の対象にならないことがわかっている特定のルートを選択的に除外できます。
これを行うには、これらのルートを VerifyCsrfToken ミドルウェアの $excel 配列に追加します。
<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>
このアプローチにより、CSRF 攻撃の対象となる可能性が低い特定の API ルートを除外しながら、ほとんどの API ルートに対する CSRF 保護を維持できます。
以上がLaravel POST および PUT リクエストで 419 ステータス コードをいつどのように処理するか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。