2011-07-15 142 views
4

我想知道會話如何在CodeIgniter中工作。當瀏覽器關閉時,會話是否會被自動破壞?該CodeIgniter的默認不破壞瀏覽器的關閉會話:即使瀏覽器關閉,CodeIgniter如何保留會話數據?

$config['sess_expire_on_close'] = FALSE; 

相反,我們可以設置會話到期時間:

$config['sess_expiration']  = 7200; 

現在,例如,如果我設置的過期時間爲0時,它會只要我不被破壞自己保持會話:

$this->session->sess_destroy(); 

那麼如何笨保持特定時間的會話信息,瀏覽器關閉後?

此外,如果使用此默認設置(不會使瀏覽器關閉會話)保持用戶登錄幾天,它是否安全? (例如,在會話中存儲'logged_in' => TRUE

回答

3

CodeIgniter中的會話不使用默認的PHP $_SESSION。它使用自己的實現與cookie。這就是爲什麼當你關閉瀏覽器時它不會被破壞。您也可以在CodeIgniter中使用與數據庫的會話,並使用選項$config['sess_use_database'] = TRUE;以及其他您可以在此處找到的內容:http://codeigniter.com/user_guide/libraries/sessions.html

+0

是的,我認爲相同,但我完全不知道。這是任何框架或語言的經典之處 - 在當前的HTTP/HTML中,我們只有cookie作爲即席會話處理程序。它何時會成爲國家? :( – gaRex

+0

@TrexXx感謝您的回覆。據說一般情況下使用cookies與會話相比是非常不安全的。CodeIgniter的實現不是不安全嗎? – Roman

+0

文檔說如果您的應用程序需要使用會話安全性強,設置簡單,只需根據需要創建表,並照常使用會話類。 – TrexXx

相關問題