2013-05-02 54 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)。