LaravelでCSRFチェックを無効にする方法


  1. 特定のルートでCSRFチェックを無効にする方法: CSRFチェックを無効にする必要がある特定のルートがある場合は、そのルートの定義でwithoutMiddlewareメソッドを使用します。例えば、以下のようなコードになります:
Route::post('/example', 'ExampleController@handle')->withoutMiddleware(['csrf']);
  1. グローバルにCSRFチェックを無効にする方法: 全てのルートで一時的にCSRFチェックを無効にするには、App\Http\Middleware\VerifyCsrfTokenミドルウェアを無効にする必要があります。App\Http\Kernelクラスの$middlewareプロパティにあるVerifyCsrfTokenミドルウェアをコメントアウトするか、削除します。以下は例です:
// app/Http/Kernel.php
protected $middleware = [
    // ...
    // \App\Http\Middleware\VerifyCsrfToken::class,
];
<form method="POST" action="/example">
    @csrf
    <!-- フォームの内容 -->
</form>

これらの方法を使用すると、LaravelのCSRFチェックを一時的に無効にすることができます。ただし、セキュリティ上のリスクを最小限に抑えるために、CSRFチェックを必要な場所で有効にすることをお勧めします。