我有一個codeigniter/php網站和flex應用程序。CodeIgniter:當頁面重新加載時,會話cookie中存儲一箇舊的session_id。
我以用戶名「JHON」記錄和做的所有事情,而且越來越註銷。
然後如果我登錄從網站的用戶「鮑勃」,我設置一個新的會話DATAS喜歡的用戶名,用戶id,名字等,在笨會議。還記得codeIgniter session_id。
然後將用戶重定向到flex應用程序,當用戶「bob」從應用程序返回到網站時,默認情況下codeigniter從session-cookie中獲取session_id,這與我在將「bob」重定向到flex之前所看到的不同應用。
我注意到這個變化SESSION_ID是屬於用戶「JHON」。
我不使用$this->session->sess_destroy();
註銷時,只需用解封使用unset_userdata()
所有的會話數據下面是我的config.php設置會話和餅乾。
config['sess_cookie_name'] = 'cisession';
$config['sess_expiration'] = 7200;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
$config['cookie_prefix'] = "";
$config['cookie_domain'] = "";
$config['cookie_path'] = "/";
我正在使用數據庫和表「ci_sessions」來存儲會話。我主要在Chrome瀏覽器中看到這個問題,而且在系統重新啓動後也是如此。
意味着我登錄爲「JHON」,這樣做並...... 註銷.. Restrating我的系統.. 再次登錄爲「鮑勃」,重定向到Flex應用程序.. 未來回到codeigniter網站。 我收到登錄爲「JHON」 ......
問題是什麼?
如果你想全自動這樣做,沒有摧毀所有會話數據(你可以保存一些重要的東西),你可以改變'$配置[「sess_time_to_update」]'更短的頻率,並且將值重新生成新的ID已申報。 – toopay
其實我的問題是,在jhon的登錄中,它將會話'8346365934644'存儲在cookie中。我沒有註銷,但重新啓動瀏覽器,再次登錄'鮑勃',新的session_id生成'23823623492',但當我刷新頁面45秒後,它再次得到session_id'8346365934644'。來自哪裏?我不知道!。我認爲它是匹配來自'ci_sessions'表的ip地址和用戶代理數據。 –
'從哪裏?我不知道!。我認爲它與'ci_sessions'表中的IP地址和用戶代理數據相匹配。「將它作爲錯誤提交,如果確實發生了,那麼它應該是錯誤的。會話類應該更新數據庫中的數據,因爲實際的Cookie正在更新。 – toopay