Это вариант использования:
- хакерский логин для входа на личный сайт другого пользователя («правильный пользователь») с использованием его / ее pw
- правильного пользователь, не входя в систему, меняет свой пароль с помощью функции «забыть пароль»
- хакер никогда не выходит из системы, и его сеанс остается включенным, потому что он все еще имеет учетные данные в качестве данных сеанса в своем браузере
Что я хотел бы сделать, так это: как только правильный пользователь меняет свой пароль, сеанс хакера уничтожается пользовательской функцией сброса пароля. Но правильный браузер пользователя не имеет никакой ссылки на идентификатор / код сеанса хакерских, так что если он запускает функцию session_destroy (), это не влияет на сеанс хакера, только на правильный пользовательский сеанс. Но, поскольку некоторые уникальные идентификаторы, связанные с учетной записью пользователя, установлены в качестве данных сеанса, теоретически возможно идентифицировать сеанс, имеющий значение этого поля, равное правильному идентификатору пользователя, и удалить сам сеанс. Проблема в том, как это сделать, есть ли у Codeigniter какая-либо функция для поиска сеанса, сохраненного на сервере, для поиска значений его полей? В настоящее время я использую способ отслеживания сеансов по умолчанию, поэтому на диске.