Какую библиотеку сеансов следует использовать с CodeIgniter?

Я недавно начал использовать CI и с ним сеансы CI, но я заметил, что в частности, гораздо важнее время, затрачиваемое на сеансы CI, чем на базовые PHP-сессии: массивы .

У меня есть массив данных, который сохраняется независимо от входа / выхода из системы с именем $_SESSION['stats'] Затем я сохраняю данные в этом массиве в форме:

$_SESSION['stats']['last_page'] = $_SERVER['REQUEST_URI']; ,

И когда пользователь выходит из системы, он сохраняет массив статистики в переменной, очищает сеанс и затем загружает его обратно в новый сеанс.

Проблема в том, что для редактирования последнего_страницы вместо одной строки выше я должен использовать этот код:

 $stats = $this->CI->session->userdata('stats'); $stats['last_page'] = $_SERVER["REQUEST_URI"]; $this->CI->session->set_userdata('stats', $stats); 

Это один из многих неприятностей, которые я нахожу в сеансах CI, которые заставляют меня чувствовать себя неудовлетворенным им как обработчиком сеанса. Поэтому мой вопрос: какую сессионную систему следует использовать с CodeIgniter? … есть ли какая-то причина для использования сеансов CI? Есть ли библиотека CI, которую вы бы предложили? Почему бы просто не использовать сеансы PHP?

Благодаря,

Lemiant

CI-сессии предлагают некоторые дополнительные функции; таких как автоматическое восстановление идентификатора сеанса каждый заданный промежуток времени (для обеспечения безопасности), отслеживание IP-адресов и флэш- данных (данные сеанса, которые очищаются после того, как он читается один раз).

Механизм сеанса CI хранит все данные в файле cookie. Собственный механизм работы PHP хранится на стороне сервера. У каждого есть свои преимущества / недостатки. Куки-файлы могут содержать только 4 Кбайта данных, поэтому, если хранить большие объемы данных в сессионных сессиях PHP, возможно, будет лучше.

Если вы решите, что хотите использовать собственные PHP-сессии, используйте: Session Hybrid (CI 1.7.2)

Session Hybrid использует собственные PHP-сессии, может хранить данные сеанса в стандартном CI db, является заменой замены класса сеанса CI и требует только перезаписывания одного файла.

[* При использовании версии CI до 1.7.0 попробуйте PHPSession и собственный сеанс ]

Примечание: если вы решите остаться с сессиями CI , для дополнительной защиты вы можете хранить сеансы в базе данных и шифровать файлы cookie (см. « Настройки сеанса» ).

Похоже, вы используете метод хлебной крошки.

Это может помочь, http://codeigniter.com/forums/viewthread/137949/

И чтобы ответить на ваш другой вопрос, да, есть очень хорошая причина использовать библиотеку сеансов CodeIgniter. Я использую его, потому что мне нужно хранить данные сеанса пользователя в моей базе данных (безопаснее), а библиотека поставляется с возможностью шифрования файлов cookie и если включена глобальная фильтрация XSS, тогда данные также будут очищены.