2013-05-02 51 views
0

我有点糊涂了这一点,如何记住我cookie的会话生活时间?

说会议已经开始与默认PHP INI设置里gc_maxlifetime为1440秒。我应该使用记住我的功能,为此我将cookie设置为14天。只要会话最长使用时间设置为24分钟,明显小于Cookie使用期限(14天),例如在10天后(例如)会话可能(当然取决于gc概率)已过期,并且会没有提及记得我cookie的会话ID。

那么如何设置一个记住我的cookie生命周期比会话生命周期记住/恢复会话更长?或者我是否需要根据cookie的使用期限更改会话最大生命周期?

+2

记我曲奇可以绑定到特定的会话,但不一定。它们可以包含一些完全不同的数据,例如一个加密的用户ID,以便当用户返回并完成他们先前的会话时,系统可以自动登录,而不会显示登录提示。直接将记忆cookie绑定到会话通常不是一个好主意。你不希望陈旧的会话堵塞你的系统,特别是如果你有很长的“记住我”期限设置。 – 2013-05-02 16:02:56

+0

你的意思是说你正在使用**记住我**记住**会话ID **? AFAIK,**记住我**用于在用户成功登录时存储'用户名' – 2013-05-02 16:07:02

回答

1

通常,“记住我”cookie是一个持久性cookie,而不是一个会话cookie。它包含一些允许自动登录操作发生的加密信息。即,当已经没有活动会话,但存在“记住我”cookie时,则将开始新的会话。

0

会话GC功能将删除会话数据(默认保存为纯文本文件),而Cookie设置将删除保留会话ID的Cookie。

为了使会话处于活动状态,其数据文件和具有ID的Cookie必须存在(AFAIK)。