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

Как правильно сделать авторизацию на сайте?

Сейчас при успешной авторизации создаю токен, записываю в базу (разный при каждой авторизации) и в куки, далее просто сравниваю из базы и из куков (без хеширования и тому подобного). Думаю, что так делать не стоит с точки зрения безопасности.
Добавлю, что авторизация через API, поэтому без пароля.
Как сделать ее более-менее безопасно?
P.S. думал насчет хеширования, но не особо понимаю:
1. В базе храним хеш или токен? (Если хранить хеш, какой смысл от хеширования? Думаю - чистый токен.)
2. В куках храним хеш или токен? (тут, думаю, хеш)
3. Сравниваем хеш из куков с хешем токена из базы?
Поможет ли данная процедура повысить безопасность или нет? (Сравнивая с текущей, описано выше)
  • Вопрос задан
  • 97 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@DamskiyUgodnik
Я бы сделал так:
1. Авторизуем пользователя
2. Выдаём ему токен (в cookies) и пишем его в базу как активный
3. Сверяем токен из cookies с токеном из базы (при запросах)

На сколько я знаю, у vk работает примерно по такой же схеме (по крайней мере внешне выглядит так).

Если хочется ещё секурней сделать, можно ограничить сессию по времени (точнее токена в базе) + сверять браузер + ip (если меняется, разлогинивать путём удаления токена из базы). Но тут уже могут быть проблемы у пользователей с динамическим ip. Тут уже надо смотреть что важнее, безопасность данных или удобство пользователя.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
22 янв. 2025, в 22:30
5000 руб./за проект
22 янв. 2025, в 22:26
200000 руб./за проект
22 янв. 2025, в 22:25
50000 руб./за проект