Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: система авторизации
Форумы портала PHP.SU » » Вопросы новичков » система авторизации

Страниц (1): [1]
 

1. dadli - 17 Ноября, 2011 - 16:03:36 - перейти к сообщению
допустим человек зарегистрировался на саите, потом он прошол авторизацю, и нажал кнопку "запомни мне", на странице авторизации проверям, ага, такои логин и парол сушествует в базе, всо ок, включаем сесию, а кукисов називаем например "cookiename", а значение даиом например логин етого ползователя. тоест так:

потом кажди раз, когда ползовател заходит на саите, на кажди странице проверяется через скл-запроса:

Спойлер (Отобразить)


если значение кукисов сушествует в базе, то ползовател авторизован,
если нет, говорим ему: "ви не авторизовани"


ето так происходит? тоест особенно интересует скл на каждои странице оправдано? или нужно по другому?
буду очен благароден за люби ответ.
2. Bio man - 17 Ноября, 2011 - 16:19:00 - перейти к сообщению
mysql_query("SELECT id FROM users WHERE login = '".$_COOKIE['cookiename']."' ");
и вообще зачем такая проверка если ты сессии используешь? бери id (или другая информация о том вошел ли пользователь) пользователя из сессии, проверяй ее на правильность, если все ок то говорим что пользователь вошел, если проверку не прошла (не установлена, 0, false итд) то даем форму авторизации
3. dadli - 17 Ноября, 2011 - 16:29:55 - перейти к сообщению
Bio man
Цитата:
и вообще зачем такая проверка если ты сессии используешь? бери id (или другая информация о том вошел ли пользователь) пользователя из сессии


когда человек закроет браузер и потом снова откроет, сесия то уже не сушествует да? как забрать данние из сесии ?
4. Данил_123 - 17 Ноября, 2011 - 16:31:19 - перейти к сообщению
dadli вы совместили сессии и куки..
PHP:
скопировать код в буфер обмена
  1. if($_SESSION[login]) echo "выйди";
  2. if(!$_SESSION[login]) echo "Войди";
.. Если в базе то проверять по ip-адресу.. так как вроде(так у меня) через хеш сумму
5. Bio man - 17 Ноября, 2011 - 16:56:47 - перейти к сообщению
dadli пишет:
когда человек закроет браузер и потом снова откроет, сесия то уже не сушествует да? как забрать данние из сесии ?
а что вам мешает увеличить время жизни сессии (в частности куки, которая хранит ид сессии)?
6. dadli - 17 Ноября, 2011 - 20:48:53 - перейти к сообщению
но ето не понимаю: я сохраняю в куках какоита данние да? (захешированни через несколко мд5 + соль и т.д.) потом когда ползовател заходит на саите, проверяется: если ети данние которие в куках, совпадает данних которие есть базе, включаем сесию - даиом ползувателю привилегии. ето так?
7. Bio man - 17 Ноября, 2011 - 21:08:50 - перейти к сообщению
dadli, нет не так. сессия сама пишет свой ИД в куку под именем PHPSESSID по умолчанию... тебе всего лишь нужно увеличить время жизни этой куки для авторизированного пользователя, например так, setcookie(session_name(), session_id(), time()+360); // 6 минут
8. dadli - 17 Ноября, 2011 - 23:33:41 - перейти к сообщению
Цитата:
сессия сама пишет свой ИД в куку под именем PHPSESSID по умолчанию.


ето так, но сервер же через какоита огрониченни времени, удаляет старие сесии
9. Bio man - 18 Ноября, 2011 - 11:21:11 - перейти к сообщению
dadli, если бы не удалял, у тебя через какое то время проста дисковое пространство бы закончилось... если нужно увеличить время, правь в php.ini опцию session.gc_maxlifetime
10. Itan - 18 Ноября, 2011 - 14:26:22 - перейти к сообщению
dadli пишет:
если ети данние которие в куках, совпадает данних которие есть базе, включаем сесию


У меня вот как сделано:
Чел зашел на сайт. Если нет кук, то показываем ему форму логина. Если все правильно ввел, то записываем некую строку в сессию. А если он еще и галочку поставил "запомнить", то попутно ставим ему куку. А затем на страницах проверяем только наличие сессии, и если она есть, значит он авторизован, значит не надо делать дополнительные запросы в бд.
11. dadli - 18 Ноября, 2011 - 15:34:11 - перейти к сообщению
харашо понял, спасибо всем за ответах
12. De-Luxis - 18 Ноября, 2011 - 19:05:10 - перейти к сообщению
Цитата:
харашо понял, спасибо всем за ответах

учи Русский.

 

Powered by ExBB FM 1.0 RC1