Защита от CSRF-атак

Что такое CSRF?

CSRF — это защита от ситуаций, когда кто-то может незаметно для вас отправить запросы от вашего имени, например: – изменить пароль – удалить данные – выйти из аккаунта

Laravel может автоматически блокировать такие вредные запросы, если правильно включена защита.

Что нужно сделать

Всё настраивается один раз на сервере. Ниже — простой список шагов.

Шаг 1: Открой .env и добавь домен фронтенда

В файле .env добавьте строки:

SANCTUM_STATEFUL_DOMAINS=localhost:4200,domain.com
CORS_SUPPORTS_CREDENTIALS=true

🔸 Здесь нужно указать адрес, с которого будет работать ваш сайт (Angular). Если вы тестируете — используйте localhost:4200.

Шаг 2: Проверь файл config/sanctum.php

Найдите строку:

'stateful' => explode(',', env('SANCTUM_STATEFUL_DOMAINS', 'localhost')),

Убедитесь, что она есть — Laravel будет использовать список доменов из .env.

Шаг 3: Проверь настройки config/cors.php

Убедитесь, что они выглядят примерно так:

'paths' => ['api/*', 'sanctum/csrf-cookie'],
'allowed_methods' => ['*'],
'allowed_origins' => ['http://localhost:4200', 'https://domain.com'],
'allowed_headers' => ['*'],
'supports_credentials' => env('CORS_SUPPORTS_CREDENTIALS', false),

🔸 Здесь Laravel разрешает принимать запросы от вашего фронтенда.

Last updated

Was this helpful?