2012-06-19 45 views
0

可能重複後:
Firefox session cookiesPHP會話變量保持置關閉火狐

我創造一種允許用戶登錄時只查看某些頁面的網站做到這一點,我檢查是否設置了$ _SESSION ['uid'],如果不是,我將用戶發回主頁而不是私人頁面。但是,在用戶關閉瀏覽器後,$ _SESSION ['uid']保持設置,因此用戶可以在不必再次登錄的情況下查看私人頁面。爲什麼是這樣?爲什麼$ _SESSION ['uid']變量在瀏覽器會話中保持設置?該網站在Chrome中正常運行,但不是FF。

+1

HTTP:/ /stackoverflow.com/questions/3068744/php-session-timeout – Brad

+1

這是Firefox中一個已知的「錯誤」(他們呼籲如果一個可配置的功能,我不同意),它保持與終身0餅乾。你只能希望會話是在垃圾收集器刪除某個點。另見:http://stackoverflow.com/a/1083020/358679 – Wrikken

+0

FWIW,鉻也有這個可怕的misfeature從版本18左右開始...... –

回答

0

你可以試着改變PHP的設置,迫使到期時間:

ini_set('session.cookie_lifetime', 0); 
ini_set("session.cache_expire", 0); 

這也可以工作(自動過期,當你關閉瀏覽器中的cookie):

ini_set('session.use_only_cookies', 0);