Систему смарт с CodeIgniter


у Меня есть приложение, разработанное с CodeIgniter, PHP и MySQL. Сеанс пользователя всегда была обработана по умолчанию CodeIgniter, но теперь мне нужно, что сессия является более строгим, работает аналогичным образом в систему интернет-банкинга, выдох на семь минут (420 секунд), время простоя, время, что каждый запрос от клиента к серверу эти семь минут отремонтированы.

я Не знаю, если изначально только установив параметры CodeIgniter поддерживает такой способ хранения сеанса, но не получили представлять эту форму работы.

я Не знаю, если этот уровень ограничений нужно реализовать некоторые методы класса CI_Session, или, если можно просто правильно настроить параметры CI?

и В противном случае, будет, что уже существует класса или плагин CodeIgniter, который уже деятельности, как это реализовано?

Пример того, как я настройка параметры:

$config['sess_cookie_name']     = 'ci_session';
$config['sess_expiration']      = 420; 
$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']          = 420;
$config['sess_storage']                 = 'database';
$config['sess_database']                = 'default';
$config['sess_timeout']                 = 7200;
$config['sess_destroy_on_timeout']      = FALSE;
$config['sess_update_interval']         = 180;
$config['sess_gc_probability']          = 10;
$config['sess_http_only']               = FALSE;
$config['sess_secure']                  = FALSE;
$config['sess_forwarded_ip']            = FALSE; 
Author: mayconfsbrito, 2014-10-24

2 answers

Я Думаю, что CodeIgniter не имеет это, но это очень просто. Любые запросы, сделанные в приложении, где любой странице, которая содержит session_start() в начале сессии будет возобновить и начать отсчет снова, то есть, будет выполнять функции, которые вы хотите.

Если пользователь стоять на страницу заполнения и обмотки и так далее, он может быть deslogado, точно? Потом также или, по крайней мере, один способ избежать этого, является то, что у вас есть функция AJAX, которая вызывает какие-либо страницы любой, содержащий session_start() продлить сеанс, если он еще не открытой странице. Но эта ситуация может меняться, например, в интернет-кафе в конечном итоге продолжительность жизни человека, и в некоторые браузеры продолжают открыт в зависимости от системы Lan.

- То может думать о какой-либо логики для управления вашего приложения.

 2
Author: Kelwen Souza, 2014-12-01 12:58:24

Мне удалось решить проблему, просто переставляя конфигурации сеанса CodeIgniter, установив в файле config.php моем приложении параметры для работы сессии.

В Принципе, я снова в документации CodeIgniter, и я удалил некоторые из параметров, которые попали в немилость начиная с версии 2.0.

Я Использовал инструкции для каждого параметра сеанса CI, определенные на рисунке:

inserir a descrição da imagem aqui

В моем применения, параметры, относящиеся к конфигурации сессии были следующим образом:

$config['sess_cookie_name']             = 'fwsibe';
$config['sess_expiration']              = 7200; 
$config['sess_expire_on_close']         = TRUE;
$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']          = 0;

Я Пришел к такому решение благодаря следующий пост в stack overflow международный: CodeIgniter Session equal to Internet Banking

 2
Author: mayconfsbrito, 2017-05-23 12:37:32