За последние 24 часа нас посетил 8151 программист и 470 роботов. Сейчас ищут 156 программистов ...

Сессии сдыхают, но перезагрузка не помогает

Тема в разделе "Laravel", создана пользователем mkramer, 27 янв 2019.

  1. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    7.847
    Симпатии:
    1.543
    Заметил такую интересную особенность. Есть проект, Laravel 5.7. Поработав над сайтом, оставляю его часов на 7-10 (ну просто комп в гиперберацию). После чего возвращаюсь, и перестают работать post-запросы, возвращают 419 ошибку. Простое обновление страницы не помогает. В логах Session store not set on request (обращаю внимание. до гиперберации сессии работают как надо). Для восстановления работоспособности сайта удаляю куки вручную через панель разработчика браузера.

    Хочу узнать, кто сталкивался? Я как-то раньше не замечал. Есть, конечно, мысли как решить - что-то типа поймать 419-ю в App\Exception\Handler, удалить старую сессионную куку или что-то в этом роде (session()->regenerate(); наверное не сработает) и сообщить пользователю, что страница должна быть перезагружена. Но может у кого есть решение поинтереснее? Вообще, странно, что из коробки не предусмотрена какая-то иная реакция на устаревшею сессию
     
  2. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    717
    а ты уверен, что это не csrf_token тухнет?
     
  3. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    7.847
    Симпатии:
    1.543
    @romach Ну тухлый csrf должен обновляться после F5. Если бы после F5 всё срабатывало, то и вопроса бы не было. Плюс он не должен приводить к Session store not set on request, я же нашёл в исходнике, где эта хрень выкидывается, вроде как это должно значить, что сессия не стартанула.