CodeIgniter: когда страница перезагружается, она берет старый session_id, сохраненный в cookie сессии. - PullRequest
1 голос
/ 29 июля 2011

У меня есть сайт codeigniter / php и приложение flex.

Я регистрируюсь с именем пользователя "jhon" и делаю все, и получаю выход из системы.

Затем, если я вхожу в систему как пользователь "bob" с веб-сайта, я устанавливаю новые данные сеанса, такие как username, userId, firstName и т. Д. В сеансе codeigniter. а также я только что записал codeIgniter session_id.

, а затем перенаправляет пользователя на гибкое приложение, когда пользователь "bob" возвращается на веб-сайт из приложения, по умолчанию codeigniter берет session_id из session-cookie, который отличается от того, который я видел перед перенаправлением "bob" для гибкого приложения .

и я заметил, что это измененное значение session_id принадлежит пользователю "jhon".

Я не использую $this->session->sess_destroy(); при выходе, просто сбрасываю все данные сеанса с использованием unset_userdata()

Ниже приведен параметр my config.php для сеанса и файла cookie.

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", делаю то и это ... Выход из системы .. Восстановление моей системы .. снова войдя в систему как "bob", перенаправленный на flex app. возвращаясь на сайт codeigniter. Я вошел как "jhon" ....

В чем проблема?

1 Ответ

0 голосов
/ 29 июля 2011

Проблема в том, что вы не используете $this->session->sess_destroy();, который убивает session_id из базы данных .

...