Laravel Laravel хранение сессий в файлах

Breeze, laravel ничего не знает, был ли пользователь "запомнен" или нет. При чистке сессий он просто берет конфиг с максимальным временем простоя сессии и проходит по всем файлам сессий. Конечно можно переписать сбор мусора и прикрутить туда костыль, но изначальная идея фреймворка дать мне то, о чем я не должен думать.
 
какой переписать, какой сбор мусора?
ставишь куку, читаешь куку
или теперь наличие фреймворка снимает обязанность что-то делать?
 
вообще как бы да, сессии - и "запомнить меня" - это разные механизмы, как бы.
 
Breeze, я не понимаю по какому критерию сборщик мусора будет оценивать, что этот файл сессии должен хранится 15 минут, а это 3 дня...
Кнопка "запомнить меня" создает куку на длительный срок, но на файл сессии это никак не влияет.
 
разные, но достаточно связаны, чтобы не копить три дня ботов
 
@membrilius сессия всегда одной длины
после протухания кука всегда залогинит человека и восстановится состояние чего бы то ни было
 
Breeze, Кука хранит ID сессии ... если сессии с таким ID нет, то она будет создана. Она будет пустая. Laravel магическим образом удаленные данные в неё не вернет.
 
1. неактивная сессия хранится 24 минуты по дефолту
2. есть автологин на хренадцать суток
3. важные данные типа корзины товаров не хранишь в сессии
4. ушел кофе пить, сессия протухла, коллектор файл прибил
5. вернулся, автологин, новая сессия, корзина доступна

для робота

1. сессия создалась
2. через 24 минуты гк ее стер

не копятся файлы

так понятнее?
 
Breeze, Я не понял, откуда автологин возьмет потерянные данные если у меня есть только ID сессии которой больше нет.
Как имея просроченный ID я могу вернуть пользователя под котором я только что был?
 
догадайся, у тебя есть user id как минимум
 
Вы храните user_id в куке? И session_id там же? То есть я могу прописать Ваш user_id к себе в куку, любую 32 символьную строку в session_id, подождать 24 минуты и авторизироваться под Вами?
 

я понимаю, что при наличии фреймворков охота ничего не делать, чтобы он сам все сделал.
но голову иногда надо включать, да? ты вроде знаешь, что в куку писать можно, в базу/файл/астрал можно писать, но свести воедино не получается.

у тебя user_id появляется после автологина во вновь открывшейся сессии. дальше сможешь придумать?
 
Breeze, Я не понял, откуда автологин возьмет потерянные данные если у меня есть только ID сессии которой больше нет.
Как имея просроченный ID я могу вернуть пользователя под котором я только что был?
В куке автологина не id сессии, а хеш, состоящий из однозначно идентифицирующих клиента данных, например, пароля, секретного ключа приложения и т.п.. Беря из куки ID пользователя, проверяется этот хеш.
 
Тогда лучше не хеш, а сериализированный набор данных точно идентифицирующий клиента, зашифрованный каким-нибудь алгоритмом blowfish. Так раньше например гугл делал.

Вообщем понятно, все сошлось к тому, что сессия должна хранится минимально мало. Ладно.
 
не минимально, а разумно по времени.
и если уж шифровать, то проще сделать свой хендлер для сессий со стораджем в куках :)
 
я как-то не верю, что нельзя отключить в конфиге дефолтный старт сессий для всех запросов
 
в каком конфиге? В ларавеле свои поделки в плане сессий, для message bag и т.д.
 
Сверху