#laravel #laravel-nova
Вопрос:
У нас есть проект Laravel, в котором общедоступные файлы cookie необходимо отключить по причинам CSRF и ошибки 419. Однако, когда мы комментируем следующие строки, проект работает так, как задумано, но администратор Nova просто выбрасывает 500:
protected $middlewareGroups = [
'web' => [
// AppHttpMiddlewareEncryptCookies::class,
// IlluminateCookieMiddlewareAddQueuedCookiesToResponse::class,
// IlluminateSessionMiddlewareStartSession::class,
// IlluminateSessionMiddlewareAuthenticateSession::class,
// IlluminateViewMiddlewareShareErrorsFromSession::class,
// AppHttpMiddlewareVerifyCsrfToken::class,
IlluminateRoutingMiddlewareSubstituteBindings::class,
],
'api' => [
'throttle:60,1',
'bindings',
],
];
Кто-нибудь знает о способе хранения файлов cookie только для сеансов nova, пожалуйста?
Заранее спасибо!
Комментарии:
1. Разве отключение файлов cookie не сделает вас более восприимчивыми к CSRF, а не менее?
2. передняя часть сайта часто встроена, только в nova требуется использование любых файлов cookie.
3. Хорошо, я сначала отмечу, что вы на самом деле не отключали файлы cookie здесь, вы отключили только шифрование файлов cookie и файлы cookie сеанса (все остальные файлы cookie будут работать в обычном режиме).
EncryptCookies
Для начала попробуйте раскомментировать и очистить все ваши файлы cookie. Вы всегда можете запуститьStartSession
промежуточное программное обеспечение на определенных маршрутах, если вы решите, что оно прочитает файл cookie сеанса (если отправлено), а затем отправит его обратно с ответом (или установит новый, если он не был отправлен). Затем браузер будет продолжать отправлять его всякий раз, когда он установлен (независимо от настроек вашего сервера)