Задать вопрос
@MGriboedoff

Cookies, как часто стоит обновлять?

Вообщем пишу фреймворк в целях обучения.

Опишу реализацию авторизации/регистрации ит.д., которую имею:

1) Пользователь зашел на сайт, ему повесили куку, если и он ее не имеет.
2) Далее если пользователю требуется доступ к каким-то функциям предполагающим регистрацию, он водит e-mail, его регистрирует, пароль летит на емаил. Пользователь авторизуется на час.
3) Час проходит требуется вести пароль.. (Планирую переделать на бездействие пользователя в течении установленного им времени).

И теперь вопрос. Хеш куки не меняется всю жизнь пользователя (пока). Это на мой взгляд не безопасно...

Вообщем появилась идея хеш куки менять. Ничто не мешает его менять при каждом запросе пользователя: проверить верен ли его хеш, если верен - сменить на новый. И при следующем обращении проделать тоже самое и т.д.

При таком варианте перехват куки практически не возможен, и пользователь сразу заметит... что его выкидывает с ошибкой хеша. Но стоит ли так делать? Возникает проблема, что пользователь сможет работать параллельно только с одного устройства... Ну или максимум с разных IP адресов. А Если он заходит с мобилы и с компа из домашней сети... то алгоритм еще усложняется.

Кто бы как делал?

Суть в защите от несанкционированного доступа.
  • Вопрос задан
  • 445 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
Lalikin
@Lalikin
айтишник с фотокамерой
Проблема нескольких устройств решается созданием хэшей под каждое устройство. Т.е. хэш куки храним не в таблице с пользователями, а в отдельной таблице. Один пользователь сможет иметь несколько хэшей. Там же добавляем User-agent. IP может сменится даже в рамках одного провайдера при разных подключениях, запрашивать пароль в этой ситуации совсем не логично. Но если стоит вопрос о выходе после часа бездействия, то можно и IP добавить. Предложенный метод позволит менять хэш при каждом запросе, если на то есть желание.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы