smidl
@smidl
WordPress-разработчик

Проверка на авторизацию юзера. Нужно ли при каждом телодвижении сверять с данными в бд?

Нужно делать систему авторизации, довольно простую, но все-таки хотелось и безопасность сохранить.

Так вот начитался статей по этому поводу, в том числе и на тостере и теперь в голове каша. Попробую задать основные вопросы:

1) Что хранить в сессиях для пользователя? ID и хеш сессии?
2) На каждой странице делать запрос к бд и проверять данные? У меня маленький проект, максиум 5 человек одновременно онлайн, но все же странно делать запрос каждый раз при посещении любой страницы.
3) Может есть готовые системы авторизации, которые легко прикрутить к своему скрипту?
  • Вопрос задан
  • 694 просмотра
Решения вопроса 2
@IceJOKER
Web/Android developer
1. В сессиях можете все что угодно хранить, они не видны пользователям, но все же лучше хеш хранить.
2. Можете проверять есть ли сессия авторизации, если есть, то можете отбросить проверку. Но все же логику лучше сделать таким, чтоб на каждой странице у базы данных запрашивались основные данные пользователя, таким образом у вас будут и данные пользователя и заодно проверка на то, вошел пользователь или нет. Самое главное - все зависит от ситуации, от проекта. К примеру, что если вы удалите данные о пользователе из базы данных, а пользователь был раннее авторизован и в сессиях есть информация , что он авторизован. что тогда? В базе нет - в сессиях есть, до сброса сессий или закрытия браузера пользователь сможет нарушить логику в базе(добавить данные от "удаленного" пользователя и т.д. ). Надеюсь поняли ..
3. А вы искать пробовали? Ни разу не пользовался и не встречал , но на 99% уверен, что таких скриптов туча
Ответ написан
Комментировать
@alexdora
Топ-менеджер
Я хотел бы задать встречный вопрос: При проекте в 5 человек, какая разница есть запрос к базе или нет? По крайней мере нагрузку из-за одного запроса вы не почувствуете. Думаете об избавлении тогда, когда реально 1 запрос будет эквивалентен +1 секунде работы приложения.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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