Вы меняете маркер аутентификации для пользователя, прошедшего проверку подлинности с помощью cookie? Если так, как часто? - PullRequest
1 голос
/ 28 января 2009

Когда пользователь входит в систему, я даю ему cookie-файл с именем auth со значением GUID, срок действия которого истекает через 2 недели. Я сохраняю хешированный GUID в базе данных с солью их идентификатора пользователя, а затем дату, когда он истекает. Когда пользователь заходит на сайт, я проверяю cookie и регистрирую их, если они совпадают и не истек срок действия в базе данных.

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

Я также рассмотрел вопрос об изменении значения файла cookie для аутентификации. Недостатком этого является то, что вы не можете проходить аутентификацию на нескольких компьютерах / в браузерах.

Я мог бы сделать это через cookie-файл сеанса, чтобы перезапись происходила только один раз за сеанс. Когда пользователь заходит на страницу, я проверяю файл cookie сеанса с именем authenticated. Если его там нет, я даю им новое значение cookie аутентификации и cookie сеанса аутентификации и увеличиваю время истечения в БД и cookie аутентификации. Если это так, я просто проверяю подлинность cookie-файла.

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

  • Вы разрешаете пользователю входить в систему из нескольких мест / браузеров?
  • Если нет, как часто вы меняете их токены аутентификации?

Ответы [ 2 ]

0 голосов
/ 28 января 2009

Хм, я нашел все свои ответы здесь. Похоже, мне нужна таблица соединений>. <. </p>

http://fishbowl.pastiche.org/2004/01/19/persistent_login_cookie_best_practice/

0 голосов
/ 28 января 2009

Это зависит от уровня безопасности, в местах, где я работал, обычно это должно быть довольно высоким.

  1. Нет, мы не разрешаем людям входить в систему из нескольких браузеров.
  2. Мы заставляем людей снова войти в систему после 20 минут бездействия. В зависимости от того, насколько точным вы хотите быть по времени, человек определяет, как часто вы хотите обновить токен. Я был в тех местах, где время истечения обновляется каждый раз, когда пользователь отправляет сообщение обратно в систему.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...