Защита от CSRF-атак
Что такое CSRF?
CSRF — это защита от ситуаций, когда кто-то может незаметно для вас отправить запросы от вашего имени, например: – изменить пароль – удалить данные – выйти из аккаунта
Laravel может автоматически блокировать такие вредные запросы, если правильно включена защита.
Что нужно сделать
Всё настраивается один раз на сервере. Ниже — простой список шагов.
Шаг 1: Открой .env
и добавь домен фронтенда
.env
и добавь домен фронтендаВ файле .env
добавьте строки:
SANCTUM_STATEFUL_DOMAINS=localhost:4200,domain.com
CORS_SUPPORTS_CREDENTIALS=true
🔸 Здесь нужно указать адрес, с которого будет работать ваш сайт (Angular).
Если вы тестируете — используйте localhost:4200
.
Шаг 2: Проверь файл config/sanctum.php
config/sanctum.php
Найдите строку:
'stateful' => explode(',', env('SANCTUM_STATEFUL_DOMAINS', 'localhost')),
Убедитесь, что она есть — Laravel будет использовать список доменов из .env
.
Шаг 3: Проверь настройки config/cors.php
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?