Решение, которое часто используется в этой ситуации, заключается в следующем:
- не имеют слишком большую продолжительность сеанса: он истекает, если пользователь не активен (это именно так, как это работает - и это лучше для вашего сервера, если у вас много пользователей)
- Когда пользователь входит в систему, вы устанавливаете файл cookie, который содержит то, что необходимо для его распознавания.
- , если он возвращается на сайт (с файлом cookie, и без активного сеанса), вы используете информацию, содержащуюся в этом cookie, для автоматического входа в систему, повторного создания сеанса одновременно.
Таким образом:
- вы не имеете тысячи сессий «активных» без уважительных причин
- вы сохраняете стандартным образом сеансов работы
И у вас есть преимущество «никогда не отстраняется», по крайней мере, с точки зрения пользователя.
Также обратите внимание, что при «нормальных» сеансах файл cookie, содержащий идентификатор сеанса, будет удален, когда пользователь закроет свой браузер, - поэтому он будет отключен, независимо от того, как долго длится сеанс.
С помощью решения я предлагаю, вы тот, кто устанавливает, как долго куки должны оставаться на компьютере пользователя ;-)
Это означает, однако, что, когда пользователь вручную регистрирует-аут, у вас есть конечно, удалить его сессию и файл cookie - поэтому он не сразу перезагружается автоматически.
Конечно, вы должны быть осторожны, о том, что вы установили в печенье: печенье не совсем безопасно, поэтому не храните пароль в нем, например ;-)
На самом деле, этот способ делать вещи - это то, как часто работает функция «запомнить меня»; за исключением, здесь, пользователи не должны проверить флажок, чтобы активировать «запомнить меня» ;-)
Если у вас нет времени, чтобы разработать такой материал, довольно быстрый и грязный путь для использования какого-либо запроса Ajax на всех ваших страницах, который будет просто «пинговать» страницу PHP на сервере - это будет держать сеанс активным (но это не совсем хороший способ сделать вещи: у вас все еще будет много сеансов на сервере у вас будет много бесполезного запроса ... и он будет работать только до тех пор, пока пользователь не закрывает свой браузер).
я поставил печенье с именем пользователя и случайным числом сцепляется к нему, а затем Я сохранил его в базе данных. Когда вызывается страница, я проверяю системный файл cookie и сопоставляю его с тем, что находится в базе данных, если оба совпадения затем отображают человека, как зарегистрированное в противном случае. И когда человек выходит из системы, я установил cookie в null. Правильно ли это ??? и это безопасно ??? – developer
Кажется, ОК для меня, по крайней мере, это никогда не будет «идеальной безопасностью», так как любой, кто использует компьютер парня, будет автоматически зарегистрирован, но этого должно быть достаточно, я полагаю :-) –
ya Я понимаю безопасность вопрос. Ну спасибо Мартин :-) – developer