Задать вопрос
Screatch
@Screatch
Ruby On Rails front-end developer

Реализация функционала "Запомнить меня"?

Ломаю голову над реализацией функционала «Запомнить меня». Пока сошёлся на том что каждый раз когда пользователь заходит на сайт с галкой «Запомнить меня», в базу записывается новый случайно сгенерированный токен. В куку в зашифрованном виде записывается user_id и token.



В расшифрованном виде кука выгляит следующем образом

1-dfbb8bd5b577615c95cd2c2qc3fad362<br/>



где 1 это id пользователя а через тире соответственно сам токен.



В зашифрованном виде кука выглядит примерно так:

BjMHKQe0vNPBuLBNVXw3xJAOdnIK1OlS3bGrjB3O1gl2H1gqOZ4k7yPT3VPEUke7J%2BbzHDzUMCuF%2FWeLVBsM7Q%3D%3D-t20GNsMOkstr6HD3W%2FKlb56%2FZj9cuinwYrk8QTvFxK5Z8d2jM8ntLv1WxnfagirzgQSxqDsEHj1HaBXIYXeBbQ%3D%3D




При входе, происходит расшифровка куки и проверка, если токен из куки совпадает с токеном в базе, происходит вход.



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



Как ещё можно предохраниться?
  • Вопрос задан
  • 18483 просмотра
Подписаться 9 Комментировать
Подписчики вопроса 9 К ответам на вопрос (5)