Почему codeigniter хранит свои данные сессии в cookie? - PullRequest
3 голосов
/ 26 июля 2011

Почему Codeigniter делает это?Я имею в виду, не слишком ли небезопасно, если пользователи могут видеть, какие данные хранятся в их сеансе?А что если они меняют значение в куки?

Ответы [ 4 ]

5 голосов
/ 26 июля 2011

Ну, это данные о пользователе.Если они хотят изменить это ... и что?Я не вижу, как это «небезопасно».

Вы можете шифровать данные сеанса или использовать базы данных для проверки целостности данных сеанса.

Документациятвой друг;используйте его.


Что бы это ни стоило, действительно кажется глупым, что нативные сессии PHP не используются.В документации утверждается, что это обеспечивает «большую гибкость» для разработчиков, но, учитывая предостережения, перечисленные на этой странице, я не могу себе представить, как.

2 голосов
/ 20 марта 2013

Хранение сеанса в Cookie - худшая практика, каждый браузер имеет ограничение размера для cookie, и cookie - это то, что отправляется каждый раз с вашим запросом, хотя это простой ajax-запрос, эта практика только замедлит ваши запросы, Я думаю, что при разработке библиотеки сессий для Codeigniter они могли бы подумать, что пользователь будет хранить только небольшой объем данных в сессии, но это просто глупая идея - сохранить сессию в Cookie

.
1 голос
/ 09 июля 2013

проверьте это: https://bitbucket.org/xperez/core-session-storage-for-codeigniter

это оболочка для интерфейса ci_session с нативными сессиями php и, следовательно, работает также с memcached, а не с БД.

Cheers

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

Что ж, кодовая интерпретация сессий Codeigniter отличается от интерпретации сессий PHP.Вы все еще можете использовать сеансы PHP, если хотите через суперглобальный $ _SESSION, но Codeigniter в основном рассматривает сеансы как более удобные файлы cookie.Хотя вы можете хранить свои сеансы в базе данных, что я и сделаю, и я не позволю пользователю изменять значения сеанса.

Если вы хотите использовать полуобезопасные переменные сеанса, используйте встроенные PHP-переменные, если выне нужно создавать зашифрованные значения сеансов Codeigniter в зашифрованной базе данных.

Все объясняется в подробной документации: http://codeigniter.com/user_guide/libraries/sessions.html

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