Size: a a a

2021 June 27

М

Максим in Laravel Pro
Можно поподробнее? Вы просто кидаете сообщение на вьюху, пользователь f5 на тот же ресурс и сервер обновляет сессию, или там другой механизм?
источник

w

walfter in Laravel Pro
Который формируется как раз на момент построения дома страницы
источник

w

walfter in Laravel Pro
csrf токен пишется в сессию и сверяется там на бэке
источник

w

walfter in Laravel Pro
js подбирает его из мета поля как правило
источник

w

walfter in Laravel Pro
Или из формы напрямую
источник

Э

Элин in Laravel Pro
Там проблемы будут, если всё зависло в момент пост запроса. Пользователь будет обновлять и отправлять пост со старым токеном
источник

w

walfter in Laravel Pro
Если он протух то js не получит новй до обновления страницы
источник

w

walfter in Laravel Pro
Таков смысл CSRF токена
источник

w

walfter in Laravel Pro
Сколько там у него срок жизни, один час? Если вы токен не обновите через час то запросы будут сыпаться на 419
источник

М

Максим in Laravel Pro
Каким именно образом вы обновляете токен, на сервере просто регените csrf?
источник

w

walfter in Laravel Pro
Это коробочная функция лары
источник

w

walfter in Laravel Pro
Она его сама генерирует на сессию для пользователя
источник

w

walfter in Laravel Pro
Через мидлвары отрубает запросы
источник

w

walfter in Laravel Pro
Скидывая на 419 ошибку
источник

w

walfter in Laravel Pro
Можно конечно обойти пропуская определённые роуты или просто отключить мидлварь
источник

М

Максим in Laravel Pro
То-есть по сути нам лишь нужно в браузере f5'нутся и мы получим новую сессию, а дальше на login?
источник

w

walfter in Laravel Pro
Но это как раз в месяц прокалывать презики и думать не залетит=)))
источник

w

walfter in Laravel Pro
Типа того
источник

w

walfter in Laravel Pro
Только вы получите не новую сессию
источник

М

Максим in Laravel Pro
Понял, спасибо, я просто думал о мануальном создании новой сессии

session()->regenerate();
    return response()->json([
       "token"=>csrf_token()],
     200);
источник