Альтернатива сеансу codeigniter для получения пользовательских данных

Я все еще новичок в Codeigniter и собирал кусочки здесь и там.

Я создал сайт с использованием codeigniter, который используется несколькими людьми для ввода информации о членах их команды и о прогрессе каждого участника.
в базе данных каждый пользователь имеет идентификатор своей команды (команды определены в другой таблице). всякий раз, когда каждый пользователь входит в систему, я сохраняю его идентификатор команды как сеанс пользовательских данных с $ this-> session-> set_userdata.
и всякий раз, когда он вставляет данные или ему нужно отобразить данные о своей команде, я получаю идентификатор из данных сеанса и сохраняю его в переменную, которая будет использоваться в моем коде.

Мой вопрос здесь заключается в том, чтобы попытаться выяснить, является ли то, что я делаю, здоровым и безопасным, и посмотреть, смогу ли я сделать это без использования сессий.

Спасибо.

1

Решение

То, что вы делаете, совершенно нормально и на самом деле довольно распространено. Просто имейте в виду, что сессии не предназначены для хранения больших объемов данных, но идентификаторы и базовая информация в порядке. Более или менее, сеанс использует cookie в качестве уникального идентификатора, который указывает на файл сеанса или запись базы данных (если вы используете сеансы CI DB), где хранятся данные (см .: Насколько безопасны сессии PHP?). Эти данные недоступны для пользователя и могут быть отредактированы только серверными сценариями, но сеансы могут быть перехвачены (см .: Предотвращение угона сессии) но я бы не стал сильно беспокоиться об этом (см .: Как предотвратить перехват сеанса в CodeIgniter 3, автор Нарф написал / соавтор сеанса lib для CI).

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

3

Другие решения

Других решений пока нет …