Покинул форум
Сообщений всего: 416
Дата рег-ции: Май 2011 Откуда: тифилис
Помог: 5 раз(а)
допустим человек зарегистрировался на саите, потом он прошол авторизацю, и нажал кнопку "запомни мне", на странице авторизации проверям, ага, такои логин и парол сушествует в базе, всо ок, включаем сесию, а кукисов називаем например "cookiename", а значение даиом например логин етого ползователя. тоест так:
mysql_query("SELECT login FROM users WHERE login = '".$_COOKIE['cookiename']."' ");
если значение кукисов сушествует в базе, то ползовател авторизован,
если нет, говорим ему: "ви не авторизовани"
ето так происходит? тоест особенно интересует скл на каждои странице оправдано? или нужно по другому?
буду очен благароден за люби ответ.
Bio man
Отправлено: 17 Ноября, 2011 - 16:19:00
Постоянный участник
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010 Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
mysql_query("SELECT id FROM users WHERE login = '".$_COOKIE['cookiename']."' ");
и вообще зачем такая проверка если ты сессии используешь? бери id (или другая информация о том вошел ли пользователь) пользователя из сессии, проверяй ее на правильность, если все ок то говорим что пользователь вошел, если проверку не прошла (не установлена, 0, false итд) то даем форму авторизации
dadli
Отправлено: 17 Ноября, 2011 - 16:29:55
Посетитель
Покинул форум
Сообщений всего: 416
Дата рег-ции: Май 2011 Откуда: тифилис
Помог: 5 раз(а)
Bio man
Цитата:
и вообще зачем такая проверка если ты сессии используешь? бери id (или другая информация о том вошел ли пользователь) пользователя из сессии
когда человек закроет браузер и потом снова откроет, сесия то уже не сушествует да? как забрать данние из сесии ?
Данил_123
Отправлено: 17 Ноября, 2011 - 16:31:19
Участник
Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011 Откуда: rostov
.. Если в базе то проверять по ip-адресу.. так как вроде(так у меня) через хеш сумму
----- http://mysitecost.ru
Bio man
Отправлено: 17 Ноября, 2011 - 16:56:47
Постоянный участник
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010 Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
dadli пишет:
когда человек закроет браузер и потом снова откроет, сесия то уже не сушествует да? как забрать данние из сесии ?
а что вам мешает увеличить время жизни сессии (в частности куки, которая хранит ид сессии)?
dadli
Отправлено: 17 Ноября, 2011 - 20:48:53
Посетитель
Покинул форум
Сообщений всего: 416
Дата рег-ции: Май 2011 Откуда: тифилис
Помог: 5 раз(а)
но ето не понимаю: я сохраняю в куках какоита данние да? (захешированни через несколко мд5 + соль и т.д.) потом когда ползовател заходит на саите, проверяется: если ети данние которие в куках, совпадает данних которие есть базе, включаем сесию - даиом ползувателю привилегии. ето так?
Bio man
Отправлено: 17 Ноября, 2011 - 21:08:50
Постоянный участник
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010 Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
dadli, нет не так. сессия сама пишет свой ИД в куку под именем PHPSESSID по умолчанию... тебе всего лишь нужно увеличить время жизни этой куки для авторизированного пользователя, например так, setcookie(session_name(), session_id(), time()+360); // 6 минут
dadli
Отправлено: 17 Ноября, 2011 - 23:33:41
Посетитель
Покинул форум
Сообщений всего: 416
Дата рег-ции: Май 2011 Откуда: тифилис
Помог: 5 раз(а)
Цитата:
сессия сама пишет свой ИД в куку под именем PHPSESSID по умолчанию.
ето так, но сервер же через какоита огрониченни времени, удаляет старие сесии
Bio man
Отправлено: 18 Ноября, 2011 - 11:21:11
Постоянный участник
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010 Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
dadli, если бы не удалял, у тебя через какое то время проста дисковое пространство бы закончилось... если нужно увеличить время, правь в php.ini опцию session.gc_maxlifetime
Itan
Отправлено: 18 Ноября, 2011 - 14:26:22
Частый гость
Покинул форум
Сообщений всего: 199
Дата рег-ции: Окт. 2008
Помог: 0 раз(а)
dadli пишет:
если ети данние которие в куках, совпадает данних которие есть базе, включаем сесию
У меня вот как сделано:
Чел зашел на сайт. Если нет кук, то показываем ему форму логина. Если все правильно ввел, то записываем некую строку в сессию. А если он еще и галочку поставил "запомнить", то попутно ставим ему куку. А затем на страницах проверяем только наличие сессии, и если она есть, значит он авторизован, значит не надо делать дополнительные запросы в бд.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.