Laravel 5, несоответствие токена при входе в систему, но срок действия страницы 419 истек - PullRequest
0 голосов
/ 27 марта 2020

У меня есть приложение laravel 5.8, которое через несколько недель развернуло go в производство. Один пользователь (и только один пользователь), похоже, испытывает проблемы с входом в систему и получает сообщение об ошибке истечения срока действия страницы 419. Я попытался отследить эту проблему и получил ту же ошибку. Проблема заключается в вводе правильного или неправильного пароля ...

Я прочитал и увидел, что, скорее всего, это проблема CRSF ... Я довольно много пробовал, переменные env, права на чтение в хранилище / рамки / сессии et c. но затем после редактирования токена VerifyCSRF я обнаружил, что фактически существует несоответствие токена. Поле CSRF в форме и маркер запроса не совпадают ...

Я зашел так далеко, чтобы сказать, что getTokenFromRequest дает правильный токен, который можно увидеть в форме входа в систему html, а $ request-> session () -> token () дает мне неизвестный токен ...

Так как оба токена генерируются laravel и я просто понятия не имею, почему токен сеанса отличается ... Session_driver: время жизни файла 120 expire_on_close: true для session_domain установлено имя домена session_secure_cook ie: false http_only: false Same_site: null

Итак это проблема сеанса или проблема crsf? И интересный вопрос также: почему только некоторые пользователи имеют эту проблему ...

1 Ответ

0 голосов
/ 27 марта 2020

Хорошо, я обновил PHP с 7.2.29 до 7.3, и проблема исчезла.

Из других проектов я заметил, что PHP 7.2 иногда давал странные результаты не только с laravel ... Кажется, снова это было ...

...