Session.gc_maxlifetime VS Cookies - PullRequest
       0

Session.gc_maxlifetime VS Cookies

0 голосов
/ 04 августа 2011

Я кодирую веб-приложение на PHP и использую сеанс с известным обработчиком сохранения, который сохраняет сеанс в базе данных MySQL.Я установил session.gc_maxlifetime на 604800 (одна неделя).Итак, Мне нужно знать для функции «Запомнить меня», должен ли я использовать куки или этого достаточно? Поскольку сессия всегда хранится в БД в течение недели - когда я закрываю окно, затем открываю его, явошел в систему.

Я не использую SID в URL, в своей таблице сеансов я храню sid, время, данные;время обновляется каждый раз.Поэтому, когда пользователь закрывает окно, сессия все еще регистрируется в течение одной недели после этого, и когда он возвращается, время обновляется снова.

Ответы [ 2 ]

1 голос
/ 04 августа 2011

Мне нужно знать, хочу ли я функцию Запомнить меня, должен ли я использовать куки или этого достаточно (сессий)? !!

Время сеансов должно быть гораздо более ограниченным, чем неделя.Дайте ему час или полтора макс.Сеансы должны быть активными только до тех пор, пока пользователь активен.

Так что идите за куки.Изучите существующие реализации в доступных программах с открытым исходным кодом.

1 голос
/ 04 августа 2011

Вам все еще нужны куки.Сборщик мусора для сервера;он сообщает PHP, когда удалять данные сеанса с сервера.Клиенту все еще нужен идентификатор сеанса для доступа к сеансу.Идентификатор сеанса обычно хранится в файле cookie.Таким образом, если файл cookie «истекает» и удаляется из кэша файлов cookie веб-браузером, веб-браузер больше не отправляет cookie-файл, и сервер больше не может сопоставить клиента с сеансом.две части сеанса: фактические данные, хранящиеся на сервере, и файл cookie, который сообщает серверу, что клиенту разрешен доступ к данным сеанса на сервере.Если кто-то отсутствует, все это больше не будет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...