Session, cookies... Запутался..

CORSAiR

Новичок
Session, cookies... Запутался..

Привет всем..

Слишком много было об этом сказано, поэтому запутался =))

Что есть сейчас:

С пользователями работаю так:

Пользователь вводит логин, пароль.... если правильно, стартую сессию (сохраняю ее в базе).. время жизни сессии 15 минут.. если пользователь не активен, то сессия убивается через 5 минут. Теперь.. Решил не морочить пользователям голову и освободить их от постоянного ввода пароля.

Что теперь ? =))

Как я понимаю:

При старте сессии ставить пользователю куку с.. ну к примеру время последнего визита, ID юзера и хэш пароля.. ну и наверно хэш всего , что назвал (иногда добавляют в куку номер сессии и проверяют еще и этот номер). И как только время сессии вышло (15 минут) то запрашивать данные из кук. т.е. каждые 15 минут пользователь будет отсылать куку ?

Объясните на словах правильный алгоритм =)) Технически сделать не проблема.

Наверно сумбурно написал =)) но пока ветер там, где ему быть не положено =))
 

Фанат

oncle terrible
Команда форума
время жизни сессии 15 минут.. если пользователь не активен, то сессия убивается через 5 минут.
что-то ты да, капитально запутался.
поясни-ка, пожалуйста, эту непростую арфиметику поподробнее.
а то я с трудом понимаю, как у тебя 15 превращается в 5

-~{}~ 18.04.06 12:05:

т.е. каждые 15 минут пользователь будет отсылать куку ?
даааааа...
представления о том, что такое браузер, у тебя просто фантастические...

-~{}~ 18.04.06 12:06:

сохраняю ее в базе
зачем?
чем не устраивает стандартный механизм?
 

CORSAiR

Новичок
Автор оригинала: Фанат
а то я с трудом понимаю, как у тебя 15 превращается в 5
Я просто проверяю.. если пользователь не заходил на сайт 5 минут, то просто убиваю сессию.. Наверно это лишнее =))


даааааа...
представления о том, что такое браузер, у тебя просто фантастические...
Да не то слово =)) пни туда, плз, где эти представления изменятся ?

зачем?
чем не устраивает стандартный механизм?
хм.. ну так легче отслеживать все сессии.. убирать мусор и т.д...
 

Фанат

oncle terrible
Команда форума
Я просто проверяю.. если пользователь не заходил на страницу 5 минут
очень хорошо.
а что, в таком случае, означает "время жизни сессии 15 минут"?
пни туда, плз, где эти представления изменятся ?
с удовольствием:
PHP FAQ: Самые основы. Как работает PHP.
хм.. ну так легче отслеживать все сессии..
зачем?
убирать мусор и т.д...
чем легче?

и зачем ты вообще стал менять стандлартный механизм, если даже не понял, как он работает?
 

CORSAiR

Новичок
Автор оригинала: Фанат
очень хорошо.
а что, в таком случае, означает "время жизни сессии 15 минут"?
т.е. если пользователь зашел на сайт и чем то занимается (редактирует, постит и т.п.) то в течении 15 минут у него проблем не будет.. как только он свалил куда минут на 5, а потом снова пришел, то все.. =(

Опс.. =))) tnx.. теперь понятно..


и зачем ты вообще стал менять стандлартный механизм, если даже не понял, как он работает?
Да.. может быть и зря.. просто пока учусь, решил выбрать этот механизм (очевидно был не прав, не усвоив, что происходит в стандарте). т.е. пишу все сам, админку, темплейты, всякую фигню, пытаясь понять как что работает.. наверно и выбрал по этому такой механизм работы с сессиями..

Но все же.. =)) это, в принципе только тех детали =)))) Именно поэтому и решил узнать основное: как правильно и надежно работать с пользователями, а уж после этого выбирать механизмы реализации..
 

Фанат

oncle terrible
Команда форума
то в течении 15 минут у него проблем не будет.. как только он свалил куда минут на 5, а потом снова пришел, то все.. =(
Слушай, я так и не погу понять.
ты начинаешь говорить про ПЯТНАДЦАТЬ минут, а заканчиваешь - про ПЯТЬ.
скажи, ты различаешь эти цифры?
почему, когдя я спрашиваю тебя про 15, ты мне всё время рассказываешь про 5?
Ты ожешь объяснить - что означает время жизни сессии? БЕЗ рассказов про 5 минут?
Опс.. =))) tnx.. теперь понятно..
очень интересно.
и что же тебе понятно?
как правильно и надежно работать с пользователями
использовать стандартный механизм сессий.
 

McSimm

Новичок
если пользователь зашел на сайт и чем то занимается (редактирует, постит и т.п.) то в течении 15 минут у него проблем не будет..
Я так понял, что проблемы начнутся на 16й минуте работы.
А если бездельничать, то на 6й :)
--
прошу прощения :)
 

Фанат

oncle terrible
Команда форума
не понял.
что значит - "я так понял"?
это же твой механизм. Ты его писал. То есть, ты ЗНАЕШЬ, как он работает, а не "я так понял"?
Так что означает "время жизни сессии 15 минут" в твоём механизме?
 

McSimm

Новичок
Фанат
извини, это я встрял с офтопом, я не автор.
больше не буду, просто повеселила фраза малость :)
 

CORSAiR

Новичок
Автор оригинала: Фанат
Так что означает "время жизни сессии 15 минут" в твоём механизме?
В моем механизме это означает, что пользователь может работать с сайтом 15 минут с момента авторизации. После этого из базы данные о сесси будут стерты
 

Фанат

oncle terrible
Команда форума
А чем вызвано такое странное ограничение?

-~{}~ 18.04.06 13:04:

и почему оно называется "время жизни сессии", а не "время работы с базой"?
 

CORSAiR

Новичок
Автор оригинала: Фанат
А чем вызвано такое странное ограничение?
Сайт спортивный.. у пользователя, по регламенту, после определенного срока (например начало соревнований) было 15 минут чтоб изменить данные... или объяснить причину неявки, в противном случае он выбывал из соревнований.

Теперь этого условия нет.

и почему оно называется "время жизни сессии", а не "время работы с базой"?
хм.... т.е.. если упростить и я напишу что-нибудь похожее на:
PHP:
$expireTime = 60*60*24*365; // устанавливаю [B]время жизни,[/B]  сессии на 365 суток
session_set_cookie_params($expireTime);
session_start();
То я сразу получаю то, что мне теперь нужно? В три строчки? Или я не прав опять?
 

Фанат

oncle terrible
Команда форума
сессия не бывает 365 суток
сессия - это пока пользователсь сидит за компом.

ты скажи, у тебя проблемы со стандартным механизмом сессий бывали?

-~{}~ 18.04.06 13:42:

ты путаешь мехинизм и его использование.
сессия - это дорога.
твой код - автомобиль.
чтобы ехать быстрее, НЕ НАДО переделвывать дорогу. Надо переделывать автомобиль.
если у тебя есть ограничение в 15 минут - делай его ПРОГРАММНО.
пиши время в сессию.
в программе его сравнивай.
если время вышло - ПИШИ ОБ ЭТОМ пользователю, культурно.
а не просто прибивай сессию
а сессию не трогай.
не надо трогать стандартные настройки сессии.
на и 15 минут, ем в 15 миллионов.
Поверь мне - механизм сессий писали не идиоты.
Во всяком случае- не такие, чтобы каждый первый попавшийся ламер тут же начал их переделывать.
Ты сначала пойми, что это такое. а потом уже свои настройки лепи.
 
Сверху