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