Я использую Laravel CSRF-защиту на своем общедоступном сайте. Однако, поскольку Laravel использует сеанс для этого, я беспокоюсь, что пользователь может уйти со своего компьютера и вернуться на страницу, которую они ранее оставили открытой, только чтобы найти запросы ajax не работают. Запросы ajax не работают, потому что сеанс завершен (и токен больше не проверяет?). Если эти пользователи были "вошли в систему", я мог бы просто перенаправить их обратно на страницу входа. Поскольку они являются общедоступными пользователями, пользователь вынужден обновить страницу, чтобы вернуть ее работу (неудобно).
Или я ошибаюсь? Будет ли токен CSRF по-прежнему проверяться Laravel (даже после того, как сеанс завершился, страница все равно будет отправлять через токен... но что с этим сделает Laravel?). Оптимальным решением было бы, чтобы маркеры были частично основаны на временной отметке, так что мы могли бы ограничить лимиты лимитов токенов, кроме предельных сроков сеанса. Я мог бы сделать мои токены CSRF в течение 2 дней (так что только те пользователи, которые уходят в течение 2 дней, вернутся на мертвую страницу).
В конечном итоге это подводит меня к моему вопросу: Где конкретный код в структуре Laravel, который обрабатывает это? Я сейчас пытаюсь найти его. Кроме того, есть ли легкая замена в замене, которую я могу сделать, или я оставил, чтобы создать свою собственную версию csrf_token();
для вывода на мои страницы, а затем мне понадобится создать собственный фильтр маршрутов, чтобы пойти с ним.