2014-08-29 3 views
1

Я разрабатываю приложение блога в CodeIgniter, который имеет information.However авторизации пользователя при взгляде на файл config.php, я нашел, что это две переменныеКакова важность обновления информации сеанса?

$config['sess_expiration'] = 7200;

и

$config['sess_time_to_update'] = 300;

С docs 'sess_expiration' = the number of SECONDS you want the session to last.

и 'sess_time_to_update' = how many seconds between CI refreshing Session Information

В течение 7200 секунд приложение должно получать 24 новых идентификаторов сеанса. Это улучшает безопасность приложения ?.

+0

Генерация новых идентификаторов сеанса предотвращает использование какого-либо прослушивателя из старого идентификатора сеанса. Это важная часть безопасности сеанса. – Brad

+0

сеансы имеют два компонента: хранилище данных на стороне сервера и файл cookie, содержащий идентификатор сеанса на клиенте. Если они уничтожены, сеанс пользователя будет отключен, и не будет возможности связать вещи с обеих сторон снова. периодически «обновляя» либо сохраняя сеанс. плюс, как упоминает Брэд, есть и компонент безопасности. –

+0

@MarcB Нет необходимости обновлять идентификатор сеанса, чтобы продлить сеанс. Я думаю, что обновление идентификатора - это просто вещь безопасности. Я что-то упускаю? –

ответ

2

Не определенно о CodeIgniter, но причина изменения идентификатора сеанса обычно предотвращает session fixation attacks. Они состоят из тех, кто отправляет ссылку с идентификатором сеанса на свою цель. Если этот идентификатор сеанса сохраняется после входа в систему, злоумышленник может захватить сеанс, поскольку он известен. Но для смягчения этого типа атаки достаточно изменить идентификатор при входе в систему. Я думаю, что CI также обновляет некоторые метаданные в это время, например, последнее время доступа и, что более важно, сбрасывает счетчик истечения срока действия, так что сеанс пользователя не истекает при активном использовании сайта.

Смежные вопросы