Как делать проверку группы пользователя?

Ребят, есть проблемка.
Имеется база users, в которой
ID
nickname
password
email
user_group (группы 1, 4, 5 [1 - администратор, 4 - редактор, 5 - обычный юзер])

Надо сделать вход через COOKIE, но как сделать так, что бы не записывать группу пользователя и пароль, но при этом, система знала, какая у нас группа?
  • Вопрос задан
  • 84 просмотра
Решения вопроса 1
Хранение на основе куки:
После авторизации выдавай пользователю куку со случайной строкой. к примеру uid и сроком 30 дней (ну или другое значение) uid_expired (uid_expired = time() + 30*86400)
Для базы данных введи два новых поля uid, uid_expired
После захода пользователя на сайт делай запрос вида
SELECT * FROM users
WHERE uid = $uid AND uid_expired > NOW()
LIMIT 1

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

Если пользователь вводит логин/пароль и он правильный, то генерируй строку, отдавай ему куку на 30 дней, записывай в бд данные о куке и времени для этого юзера

Ну это самый простой способ.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
cashalot
@cashalot
Если я вам помог - пометьте мой ответ как решение
Через куки это делать нельзя - их просто подменят на цифру 1 и сломают тебе сайт.
В хедере при каждом обновлении страницы, отправляй в БД запрос на группу пользователя и в соответствии с группой выводи или скрывай определенные блоки.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы