Эта тема на forum.dklab.ru


MVH: Систему аутентификации на php
Подкиньте идей как сделать систему аутентификации пользователя.
Существует программа на php в которой у разных пользователей разные права. При входе пользователь вводит логин и пароль, затем логин и пароль записываются в сессию (пароль зашифрован), а при открытии новой страницы идёт проверка на совпадение логина и пароля из сессии с логином и паролем из базы данных. И тут возникает первый вопрос - имеетли смысл подобная процедура или её лучше упростить.
Дальше. У пользователе есть разные права, которые хранятся в БД. При входе в программу лучше все их скинуть один раз в сессию или каждый раз доставать из БД для верности?
PyJIeT:
1.Имеет, можно было и не шифровать пароль с логином кстати.
2.Я думаю лучше скинуть в сессию один раз при идентификации пользователя.
MVH:
Логин я не шифровал, только пароль. Просто меня терзают смутные сомнения: есть ли какой-нибудь способ прочитать данные из файла сессии, кроме как имея пароль к серверу, где они хранятся? Или это не реально?
Neo:
Можно закинуть в базу пароли, кодированные md5, а потом при создании сессии их проверять
MVH:
Я так и делаю. Но это ладно, не столь существенно.
По поводу прав пользователей. Если их сначала запихнуть в сессию, то при изменении этих прав в базе данных во время того как пользователь залогинился, он (этот пользователь) будет лазить со всё ещё неизменёнными правами. Так что нельзя будет сразу ограничить его в правах. Так что думаю лучше при открытии новой страницы брать права из БД. Или есть другие идеи?
PyJIeT:
По поводу прав пользователей. Если их сначала запихнуть в сессию, то при изменении этих прав в базе данных во время того как пользователь залогинился, он (этот пользователь) будет лазить со всё ещё неизменёнными правами. Так что нельзя будет сразу ограничить его в правах. Так что думаю лучше при открытии новой страницы брать права из БД. Или есть другие идеи?
Ну это очень маловероятно...Т.к. пользователь сразу-же не узнает о том, что его права изменили.Просто помоему это лишний ход, не дающий особо ничего полезного.
Neo:
лучше просто так сделать: проверяем сведения из базы о пользователе, если , например, у него полный доступ, то в графе security скажем у него стоит 5,
если с ограниченими то 3 если гость то 0. Ну типа такого. А потом вызываешь
Dmitri R. S.:
MVH:
Не думаю, что можно так просто взять и почитать данные сессии. Файл хранится в каталоге, _отличном_ от хтдокс сервера, а именно в каталоге РНР. Сисадмин должен быть не знаю кем, чтобы использовать ../php/sessiondata/ в качесте корневого каталога для веба.
Neo:
Где-то так это и делается. А переменная в сессию ставится.
MVH:
Вопрос решен, тему можно закрыть.
MVH:
Всем спасибо.
Вопрос решен, тему можно закрыть.

Эта тема на forum.dklab.ru