Как конкретно Laravel создает и проверяет токен CSRF?

Я пользуюсь защитой CSRF от Laravel на своем общедоступном сайте. Однако, поскольку Laravel использует сеанс для поддержки этого, я беспокоюсь, что пользователь может уйти со своего компьютера и вернуться на страницу, которую он ранее оставил открытой, только чтобы обнаружить, что запросы Ajax не работают. Запросы ajax не работают, потому что время сеанса истекло (и токен больше не проверяется?). Если бы эти пользователи были «авторизованными» пользователями, то я мог бы просто перенаправить их обратно на страницу входа. Так как они являются публичными пользователями, пользователь вынужден обновить страницу, чтобы она снова заработала (неудобно).

Или я ошибаюсь по этому поводу? Будет ли токен CSRF по-прежнему проверяться Laravel (даже после истечения времени ожидания сеанса страница все равно будет пересылать токен ... но что Laravel сделает с ним?). Оптимальным решением было бы иметь токены, частично основанные на временной метке, чтобы мы могли задавать пределы срока действия токенов помимо временных ограничений сеанса. Я мог сделать так, чтобы мои токены CSRF сохранялись в течение 2 дней (поэтому только те пользователи, которые уходят в течение 2 дней, вернутся на мертвую страницу).

В конечном итоге это подводит меня к моему вопросу:Где конкретный код в фреймворке Laravel, который обрабатывает это? В настоящее время я пытаюсь найти его. Кроме того, можно ли легко заменить замену, или мне осталось создать собственную версиюcsrf_token(); для вывода на мои страницы, а затем мне нужно будет создать свой собственный фильтр маршрута, чтобы пойти с ним.

Ответы на вопрос(2)

Ваш ответ на вопрос