Сессии CodeIgniter по сравнению с сессиями PHP

Я относительно плохо знаком с CodeIgniter и делаю свой первый проект CI, в котором существуют учетные записи пользователей, и т.д. В прошлом я всегда использовал $ PHP _SESSION переменная с этой целью. Однако CI, кажется, имеет свой собственный механизм сессии, которого он требует, "лучше"

Механизм сессии CI, кажется, хранит все данные в cookie? Лично мне нравится идея всех данных, сохраненных на сервере, к которому получают доступ с ключом cookie как собственный механизм сессии PHPs... Я - немые взгляды, что это лучше? Я должен просто принять механизм CI? Или я должен идти вперед и использовать собственные сессии PHP?

Что делает Вас, парни делают?

Спасибо,
Mala

44
задан Clain Dsilva 24 January 2014 в 11:38
поделиться

3 ответа

В моём опыте работы с КИ я столкнулся с некоторыми аномалиями при проведении сеансов, но для большинства повседневных нужд библиотека хороша и с ней легко работать. Как было отмечено, Flashdata - это очень хорошая функция.

Если вы решили остаться с сессиями CI, я настоятельно рекомендую хранить сессии в базе данных и дополнительно шифровать куки:

$config['sess_encrypt_cookie'] = TRUE;
$config['sess_use_database']   = TRUE;
$config['sess_table_name']     = 'sessions';

Структура базы данных должна быть следующей:

CREATE TABLE IF NOT EXISTS  `sessions` (
    session_id varchar(40) DEFAULT '0' NOT NULL,
    ip_address varchar(16) DEFAULT '0' NOT NULL,
    user_agent varchar(50) NOT NULL,
    last_activity int(10) unsigned DEFAULT 0 NOT NULL,
    user_data text NOT NULL,
    PRIMARY KEY (session_id)
);
34
ответ дан 26 November 2019 в 22:19
поделиться

Сохраните PHP-сессию для получения важной информации и используйте CI-сессию для получения менее важной информации.

Читайте здесь wyh.http://codeigniter. com/forums/viewthread/130577/

4
ответ дан 26 November 2019 в 22:19
поделиться

В руководстве сказано больше гибкости , чем лучше ;-)

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

Неважно, вы также можете сохранить данные сессии в базе данных:

http://codeigniter.com/user_guide/libraries/sessions.html

8
ответ дан 26 November 2019 в 22:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: