Как отключить CSRF-защиту в Laravel 11.6?

Как отключить CSRF-токен в Laravel API для удобного тестирования?
  • 20 мая 2024 г. 12:00
Ответы на вопрос 1
В Laravel 11.6 CSRF-защиту можно отключить путем удаления CSRF-проверки из маршрутов, которые вы хотите исключить из защиты. Для этого можно использовать middleware 'except' в определении маршрутов.

Пример кода для отключения CSRF-защиты для конкретного маршрута:

```php
Route::post('/example', 'ExampleController@store')->withoutMiddleware(['csrf']);
```

Чтобы отключить CSRF-токен в Laravel API для удобного тестирования, можно создать middleware, который будет удалять CSRF-защиту для всех маршрутов API.

Пример middleware для отключения CSRF-защиты в API:

```php
namespace App\Http\Middleware;

use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;

class VerifyCsrfToken extends Middleware
{
    protected $except = [
        'api/*',
    ];
}
```

Затем зарегистрируйте этот middleware в файле `App\Http\Kernel.php`:

```php
protected $middlewareGroups = [
    'api' => [
        \App\Http\Middleware\VerifyCsrfToken::class,
    ],
];
```

Теперь все маршруты в API будут исключены из CSRF-защиты, что облегчит тестирование API без необходимости отправлять CSRF-токен в каждом запросе.
Похожие вопросы