Уничтожить все сессии от конкретного пользователя

Я использую Codeigniter 3 для своего приложения, и для большей безопасности я хочу предоставить Пользователям возможность уничтожить все его сеансы.

Зачем? Потому что пользователь может иметь несколько активных сессий, когда он вошел в систему на разных устройствах. Если одно устройство или Учетная запись были взломаны, пользователь должен иметь возможность уничтожить все свои активные сеансы, и Убитая учетная запись / устройство будет вынуждена выйти из приложения CI.

С Codeigniter и конфигурацией sess_time_to_update это не так просто. Потому что по истечении определенного времени сеанс будет заново создан с новым идентификатором сеанса.

Уничтожение определенного сеанса в Code Igniter это только половина решения, потому что при восстановлении сеанса столбец идентификатора пользователя не будет заполнен идентификатором пользователя.

Цель вкратце:
CI нужна функция для поиска всех сеансов на основе идентификатора пользователя или как мы можем добавить идентификатор пользователя в сеансы после его автоматической регенерации с помощью конфигурации sess_time_to_update

Спасибо за ваши советы и помощь

4

Решение

В идеале вы хотели бы создать собственную функцию самостоятельно. В некотором смысле codeignighter похож на загрузчик, так как codeignighter — это php, а bootstrap — на css. простой php-код, да, удобно иметь php-функции в библиотеке, но большинство php-кодеров делают это в любом случае. Лично я не разделяю имена своих пользовательских функций, потому что это угроза безопасности. Но также поддержание продолжительности сессий также является угрозой безопасности. Для каждого подключения пользователя в массиве $ _SERVER есть файл cookie сеанса. Что вам нужно сделать, это придумать, чтобы сохранить эти куки в таблице базы данных, а затем переместить эти записи куки в метку удаления (которая будет другой таблицей), а затем использовать Java для вызова команды (через определенные промежутки времени), чтобы увидеть, файл cookie находится в очереди на удаление. Если это так, он удаляет файл cookie командой:

setcookie("PHPSESSID","",time()-3600,"/");
////then kick them out:
session_destroy();
header('Location: index.php');

exit();

На одной из моих систем я создал другую систему cookie, основанную на соединении и других клиентских переменных. Если он не видит какие-либо из проверок (cookie, IP-адрес, имя хоста клиента и некоторые другие), проанализированных оттуда, он добавляет IP-адрес, не соответствующий таблице (для аудита администратора), а затем добавляет
этот IP-адрес на запрещенные IP-адреса в брандмауэре, а затем перенаправляет их на веб-сайт ФБР. Я также на этом веб-сервере запускаю специальный код в конфигурации apache, чтобы он не принимал vpn-соединения, чтобы те хакеры, которые думают, что могут спрятаться за vpn, не могли даже получить доступ к серверу (там время ожидания веб-браузера. ЛОЛ)

1

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

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

По вопросам рекламы [email protected]