Сесии, авторизация

Статус
В этой теме нельзя размещать новые ответы.

monk

Новичок
Сесии, авторизация

Авторизация:
Если вход со страницы авторизации -> Проверяем есть ли в БД юзер с таким логином и паролем, если нет ошибка авторизации, если есть записываем в сессию логин, пароль, id и пропускаем дальше. При далнейшем обращении к скрипту проверяем есть ли в сессии пароль, если есть пропускаем дальше.
Еще:
Пишется скрипт, в котором одни разделы (функции) будут доступны всем а другие только авторизованым пользователям. Стоит ли делать проветку в каждом разделе на if(isset($_SESSION['pass'])) {значит авторизован} Т.е. в принципе вся проверка на авторизацию состоит из определения есть ли запись в сессии, надежно ли это? Стоит ли между в скриптах передавать только сессию? И еще вопрос, везде из сессии беру логин пользователя для запросов в БД. Правильно ли я делаю? Нагружает ли это сервер?
 

WP

^_^
В сессии следует хранить логин и пароль и каждый раз сверять по БД. Проверять следует в одном файле, и присваивать переменную булевую, например $logged.
 

Фанат

oncle terrible
Команда форума
WP
это ещё зачем?
зачем хранить в сессии логин и пароль?
зачем кадлый раз сверять с бд?

monk
ты тоже - зачем пишешь в сессию логин и пароль? что они там забыли?
Стоит ли делать проветку в каждом разделе на if(isset($_SESSION['pass']))
а какая альтернатива? я что-то не понял
Стоит ли между в скриптах передавать только сессию?
а что ещё ты хочешь передавать?
И еще вопрос, везде из сессии беру логин пользователя для запросов в БД
опять же - а какая альтернатива-то?
 

WP

^_^
Фанат
Сессия в данном случае играет роль cookie. А сверять по БД каждый раз чтобы не вышло неточностей например при смене пароля в БД. Но это лишь Imho.
 

monk

Новичок
Фанат

А что тогда в сессию писть если не это?

Ну можно пароль и id передавать в ссылках...
 

Фанат

oncle terrible
Команда форума
WP
Сессия в данном случае играет роль cookie
это ты к чему?

-~{}~ 22.04.06 21:22:

monk
чего???
в каких таких ссылках?!
а, главное - зачем???

-~{}~ 22.04.06 21:24:

monk
зачем тебе кроме id юзера в сессии ещё его и логин с паролем?
 

Acabar

Новичок
Фанат
Объясни лучше, как правильно и что делать при авторизации.
 

WP

^_^
Acabar
С чего ты решил? :) Просто вдруг аккаунт заблокирован/удален/сменен пароль, а человек будет залогинен всё равно. А запрос копеечный вообще, экономия получится на спичках.
 

Сенсей

Новичок
Фанат
зачем тебе кроме id юзера в сессии ещё его и логин с паролем?
--------------

Ну логин то вроде не мешает... не? Например для

echo 'Привет: '.$_SESSION['LOGIN'];
 

monk

Новичок
Фанат
СТОП! Ссылки оставим.
Значит перенашу только сессию меж скриптами, в сессии логин и пароль юзера. Пароль для того, чтобы проверять f(isset($_SESSION['pass'])) {значит авторизован} , логин не для авторизации, а для различных запросов в процессе работы со скриптом. С точки зрения безопасности, надежен ли такой вид авторизации.

Сессия не работает с куками, куки отключил.
 

Acabar

Новичок
WP
Мол, мало ли пока он был авторизирован, его заблокироли, а раз заблокировали, значит послали...Кхм, я об этом даже и не думал. А насчёт меня, у меня просто жуткое недоверие ко всему, что может быть связано с авторизацией. Хоть и сам понимаю что это глупо =] всёравно перепроверяю сто раз.
 

monk

Новичок
WP
Нда запрос все же понадобится для проверки пароля...
 

tf

крылья рулят
>>надежен ли такой вид авторизации.
с точки зрения паранои нет. лучше проверить - нагрузка незначительна. обычно сами скрипты работают намного долше
monk
у меня так в сесии id базы, при авторизации записываю в базу ip,proxy
при запросе сверяю с базой id,ip,proxy,visible
если пользователь залогин его всегда можно выкинуть очистив ip,proxy
 

WP

^_^
Acabar
А чего перепроверять сто раз? Просто делаешь каждый раз простой запрос (например SELECT COUNT(*) as `num` FROM `users` WHERE `uid` = 1 AND `password` = 'md5...'), `uid` - primary key. Ну и присваиваешь $logged, если нужно запрашиваешь доп. инфу какую-то.
> С точки зрения безопасности, надеже ли такой вид авторизации.
Мы с тобой в этом похожи. Когда писал авторизацию в CMS сделал так что страница запрашивает спец. строку которая сохраняется в сессию, на её основе и на основе пароля генерируется хеш и передается :)
 

WP

^_^
monk
А почему похоронные нотки? Чем запрос не устраивает?
tf
А зачем так?
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху