Многие веб-сайты, которые я создал, содержат пользовательские данные, хранящиеся в сеансах для быстрого доступа. Проблема заключается в том, что если администратор решает удалить или отключить учетную запись пользователя, если у них есть файлы cookie сеанса, они по-прежнему технически «вошли в систему».Завершение сеанса при удалении учетной записи
Несмотря на то, что есть несколько обходных решений, таких как проверка базы данных перед пользователем, прежде чем они вносят какие-либо изменения или добавляют проверку базы данных в зарегистрированную функцию проверки, они менее эффективны, чем я хотел бы.
Итак, мой вопрос в том, есть ли способ закрыть сеанс для пользователя от другого пользователя на основе данных, хранящихся в упомянутом сеансе, например, идентификатора пользователя? Если нет, то когда будет считаться небезопасным использовать данные сеанса внутри страны, без проверки базы данных?
Следует отметить, что этот вопрос задается в предположении, что я буду использовать встроенную переменную $ _SESSION, а не какую-то специальную реализацию базы данных, поскольку сеанс базы данных будет довольно легко отслеживать.
Я пытаюсь избежать использования базы данных, так как сохранение данных сеанса на локальном сервере намного эффективнее, чем добавление латентности подключения к внешней базе данных каждый раз, когда я хочу получить доступ к данным сеанса.
Вы можете попробовать использовать код сервера, чтобы предоставить вам доступ к тому, что вам нужно, и позволить серверу связываться между сеансом и идентификатором пользователя. После того, как у вас есть эта информация, код сервера должен помочь вам сделать то, что вам нужно. –
Вы посмотрели на получение всех сообщений: http://stackoverflow.com/questions/1248008/session-list-in-php И как убить определенный сеанс: http://stackoverflow.com/questions/ 6730123/how-to-destroy-a-specific-php-session –
Первая ссылка, по-видимому, предполагает использование встроенной СЕССИИ, а вторая предполагает пользовательский дизайн сеанса базы данных. Возможно, использование дизайна базы данных идеально. Есть ли какое-либо преимущество в использовании сеанса базы данных только для проверки его через БД каждый раз? – Ecksters