ホームページ  >  記事  >  バックエンド開発  >  Laravel POST および PUT リクエストで 419 ステータス コードをいつどのように処理するか?

Laravel POST および PUT リクエストで 419 ステータス コードをいつどのように処理するか?

DDD
DDDオリジナル
2024-10-18 20:33:30906ブラウズ

When and How to Handle the 419 Status Code in Laravel POST and PUT Requests?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。