Скажите пожалуйста, зачем хранить идентификатор сессии в куках?
Просто не пойму, как потом работать с идентификатором..
Потому что сессия "умирает" быстрее кук. На самом деле хранится не идантификатор сесии, а хеш, который генерируется для конкретного сеанса авторезированного пользователя. И уже по двум значениям: 1) хеш из кук и 2) хеш из базы данных проверяется аторезирован ли пользователь.
24 Апр 2012, 20:24А что именно непонятно? Генерируешь хеш, пишешь его в базу и куки, а потом сравниваешь их при проверки пользователя на авторизованность.
24 Апр 2012, 20:52Okula, шо? О_о. Какой хэш?
EmptyZero, а как ты узнаешь какая сессия принадлежит пользователю который зашел на сайт?
По значению session id, которое берется из кукисов или же из ссылки(что очень плохо), в зависимости от хранилища сессий php ищет файл с таким именем или же запись в базе с таким ключем. Тебе идентификатор сессий вообще не нужен. Его обработка происходит в автоматическом режиме.
san пишет:
"Okula, шо? О_о. Какой хэш?"
Генерируемый скриптом. Если хранить авторизацию только в сессиях то она будет слетать быстро.
Вот я именно не знаю, как имея session id присвоить (если он утерян) пользователю, чтобы вернуть данные авторизации
добавлено спустя 2 минуты:
Я думал, что может как-то так:
if (!session_id()) {
session_id() = $_cookie('sess_id');
}
// в $_cookie('sess_id') хранится идентификатор сессии
Правильно?
добавлено спустя 2 минуты:
А что будет если мы подменим идентификатор сессии в куках?
EmptyZero, войдем как другой пользователь.. если конечно сессия такая существует
25 Апр 2012, 7:11