Смена пароля из одного места и безопасность

Я создаю веб-приложение asp.net с опцией «Запомнить меня» во время входа в систему, и у него есть модуль «Редактировать профиль», где пользователи могут менять свои пароли. Вот сценарий.

  1. Я вошел на сайт с машины А, нажав «Запомнить меня». Итак, я вошел в систему, и, поскольку создается постоянный файл cookie, мне не нужно входить в систему в следующий раз, пока не истечет время аутентификации моих форм.

  2. Я вошел на веб-сайт с машины B, используя те же данные учетной записи, которые я использовал выше, и с этой машины я изменил свой пароль. В этом случае как я могу заставить пользователя на машине A снова войти в систему? (Поскольку мои учетные данные изменились). Тот же сценарий может произойти, если кто-то получит учетные данные любого пользователя и использует приложение.

Спасибо


person Vishnu Y    schedule 20.06.2014    source источник


Ответы (1)


Вы должны сохранить дату последней модификации учетных данных в своей базе данных.

Когда пользователь пытается просмотреть страницу вашего веб-сайта, вы должны проверить дату, указанную в файле cookie.

Вы также можете создать систему AJAX, которая каждую минуту проверяет, были ли внесены какие-либо изменения, и в этом случае проверяет действительность учетных данных.

Если последняя дата является «последней модификацией учетных данных», удалите файл cookie и попросите пользователя войти в систему самостоятельно.

person Nicolas Henrard    schedule 20.06.2014
comment
Это нормально, когда пользователь пытается войти на ваш сайт. Но в моем сценарии пользователь уже вошел в систему и работает на машине А (скажем, хакер). Затем с моей машины скажите «Машина Б». Я меняю свой пароль. - person Vishnu Y; 20.06.2014
comment
Обновленный ответ через 2 минуты - person Nicolas Henrard; 20.06.2014