2011-01-06 56 views
0

因此,我將應用程序切換到本機會話類是codeigniter,因爲IE和會話存在一些問題。但是現在,這個會議課程似乎很快就將人員記錄下來。我瀏覽了所有代碼,似乎無法找到問題所在。這裏是本地會話類:http://ellislab.com/codeigniter/wiki/Native_session/Codeigniter本機會話類的問題

此外,我所有的配置變量都是默認設置。我想知道這是Native Session的錯還是我自己的錯。我在另一個腳本中使用了一個bool var,用於確定用戶是否已登錄。只是認爲我會把它扔到那裏。

BTW,笨1.7.3,PHP 5

+0

詳細博客:http://goo.gl/EeUgk2 – 2016-01-14 09:22:36

回答

0

CodeIgniters會話不相關的PHP的會話。他們刷新每個(我認爲)5分鐘,而不會丟失與用戶的關聯。這是防止會話竊取的安全功能。爲了讓會話更長時間,您需要在配置中自定義超時。

$config['sess_expiration']  = 7200; 
$config['sess_time_to_update'] = $config['sess_expiration']; 

現在是會議前CI更新的時間是一樣的常會過期。

0

由於Colossos博士說,這是確定重寫

$config['sess_expiration'] = 7200;

但「時間更新」應該是保持一個較低的值。該參數設置會話ID再生的頻率,用於避免會話竊取,這不意味着會話過期。

我記得關於IE和CI會話的唯一問題是CI爲coockie會話的名稱使用了一個不希望的名稱,這是一些不喜歡IE的東西,所以如果在會話配置文件中更改名稱問題消失。

+0

正如我所說的,所有變量都設置爲默認值,會話過期包括在內。會議持續時間不會超過5分鐘,通常會少於5分鐘。 – 2012-11-08 23:53:21

+0

你重新提出了這個問題!太棒了,可能我有新的答案;)IE看起來並不會殺死識別會話的cookie,無論你做什麼。它有時會發生,只有IE纔會發生。不確定存儲會話數據如何影響(並解決)該問題,但是部分解決IE問題的方法是使用基於可以猜測但變化很大的不同cookie的不同cookie,如日期。 – 2012-11-16 09:04:37