31.05.2010, 00:22 | #1 |
Магистр
Регистрация: 04.12.2007
Сообщений: 3,680
Вес репутации: 416
|
Как нынче принято хранить авторизационную сессию?
Камрады, подскажите, кто в курсе - как щас сохраняют залогиненность юзера на сайте?
Переменную гоняют, куку впихивают или еще как?
__________________
|
31.05.2010, 00:42 | #3 |
Специалист
Регистрация: 05.05.2008
Адрес: Город Герой О_o
Сообщений: 354
Вес репутации: 217
|
печенька )
как правило id пользователя в нее запихивают и какой нибудь идентификатор... например: PHP код:
|
31.05.2010, 00:52 | #4 |
Эксперт
|
самато паременная хранится или в бд (чаще всего) или в файлах эт понятно а после логона (проверка совпадений) в ход идут сессии
в пхп есть такое понятие сессия - тут рссказывать долго читай сессии php инфы куча и не оч. сложно... в них оно и держится в куках держится (по желанию) автологин при заходе на сайт ну кусочек примера: - напротив строчки юзера стоит буква U - запихиваем и держим эту букву в сесии (когда юзер залогонился) - и при переходе на другую страницу проверяем пременные сесии если установлена U то проводим действия для зареганного юзера если нет то как для гостя - ну и так далее..
__________________
Последний раз редактировалось Anadonam; 31.05.2010 в 01:02. |
31.05.2010, 01:00 | #5 | |
Эксперт
Регистрация: 12.12.2009
Адрес: Ростов-на-Дону
Сообщений: 1,537
Вес репутации: 242
|
Цитата:
Код:
//класс отвечающий за авторизацию и сессии class CAuth { var $id,$nick function CAuth() { session_start(); if (isset($_SESSION['id'])) $this->id=$_SESSION['id']; if (isset($_SESSION['nick'])) $this->nick=$_SESSION['nick']; } function Login($login,$pass) { //ищем в базе пользователя с указанными логином паролем session_destroy(); session_start(); $login=mysql_real_escape_string($login); $pass=mysql_real_escape_string($pass); $res=mysql_query(" SELECT * FROM users WHERE login='$login' AND pass='$pass' LIMIT 1 ") or serr("Error finding user"); if (!mysql_num_rows($res)) { return false; //нет такого пользователя }; //иначе заполняем переменные сессии $o=mysql_fetch_object($res); $this->id=$o->id; $this->nick=$o->nick; $_SESSION['id']=$o->id; $_SESSION['nick']=$o->nick; return true; //вход выполнен успешно } function Logout() { session_destroy(); } function IsLoggedIn() { if (isset($this->id)) return true; else return false; } } В начале php файла - $_ses=new CAuth(); Ну и вызываем методы какие надо, если надо (как минимум IsLoggedIn - для проверки на "залогиненность")
__________________
Самый удобный Хостинг (в т.ч. сейчас - бесплатное полугодовое тестирование хостинга Node.JS) Последний раз редактировалось eresik; 31.05.2010 в 01:09. |
|
31.05.2010, 01:03 | #6 |
Специалист
Регистрация: 05.05.2008
Адрес: Город Герой О_o
Сообщений: 354
Вес репутации: 217
|
eresik, это у вас класс авторизации. Пользователь будет залогинен только на время жизни сессии.
|
31.05.2010, 01:05 | #7 |
Эксперт
Регистрация: 12.12.2009
Адрес: Ростов-на-Дону
Сообщений: 1,537
Вес репутации: 242
|
ТС хочет "переменную гонять" - видимо ему и нужна "залогиненность на время жизни сессии"
__________________
Самый удобный Хостинг (в т.ч. сейчас - бесплатное полугодовое тестирование хостинга Node.JS) |
31.05.2010, 01:06 | #8 |
Эксперт
|
maksim7, именно так
- сессия живет или определенное время когда на старнице нет никаких действий (установленное на сервере) - ну напрмер юзер 5 минут ничего на сайте не делает - или всё время пока открыт сайт а что еще надо - сайт закрыл сесcию оборвал - соответственно "отлогонился" )..
__________________
|
31.05.2010, 01:12 | #10 |
Эксперт
|
maksim7, функция вспомнить меня это уже куки..) если что
млин да вопрос не совсем четкий )))
__________________
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сейчас принято поступать с моргальщиками? | msk01 | Вопросы по работе системы | 15 | 20.05.2010 09:10 |
Убрать сессию из строки параметров в IPB 1.0 | classics | Разработка и сопровождение сайтов | 0 | 03.09.2009 04:45 |
Где хранить пароли? | sherwood | Курилка | 51 | 04.06.2009 16:19 |
Принято решение о девальвации рубля | andrej3337 | Курилка | 133 | 24.11.2008 19:57 |
Ограничение на сессию? | Deadman_n | Ошибки при работе с системой | 0 | 24.03.2008 10:42 |
Часовой пояс GMT +3, время: 19:24.