Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Сессии в Typo3 (http://forum.typo3.ru/showthread.php?t=269)

Semyon 16.12.2005 15:29

Сессии в Typo3
 
Очень любопытно, как же работают сессии в Typo3 для fe-юзеров?
Существует таблица, fe_sessions, в которой по факту входа (используюя newloginbox) создаются сессии. Но по какому алгоритму они "умирают"??? Отъявленно видно, что умершая сессия у клиента (факт - разлогин) - это одно понятие, а сессии внутри Typo3 - другое!

Кому любопытно, что я не вру: www.reviez.ru
Там плагин "whoisonline" под формой для входа показывает, что сессии живут, думаю, не меньше восьми часов!
Автовыход же происходит при закрытии окна браузера :(

Отчего и "беспокойства", и любопыство...
Наверняка же можно восстанавливать сессию для клиента, если жива сессия в Typo3, чтобы не логиниться всякий раз, как снова заходим на сайт... Своего рода автологин...

И, кстати сказать, при адекватном выходе, используя тот же самый newloginbox, сессия в Typo3 остаётся живой...

Сейчас поковыряю newloginbox, дабы поглядеть, как там реализуется этот самый выход... И почему не умерает тогда сессия в Typo3.

Если у кого есть знания в этой области, и интересы, присоединяйтесь! Надеюсь это не просто интересно, но ещё и полезно!

Valery Romanchev 16.12.2005 21:20

re: Сессии в Typo3
 
Я недавно смотрел это дело для одного клиента
и по поводу vBulletin интеграции еще давно смотрел.

1) можно просто проставить время жизни куков 6 месяцев - тогда никакого разлогина при закрытии окна браузера не будет.
в 3.7.0 это патчем делалось, в 3.8.0 уже сделали константу вроде

2) по поводу полей в таблице юзеров
About time-related fields:

tstamp - the time of last changes in record (editing in FronEnd of BackEnd)

crdate - Creation Date

lastlogin - Last Logged In - this is the unix time of start of the latest PHP session, works fine

is_online - this unix time which updated every 60 seconds, when user in logged in (of cource if the user do some activity - page loads)

Semyon 20.12.2005 15:58

re: Сессии в Typo3
 
хо-хо...
поставил время жизни куков. обещают жить год...
но содержат они сл. информацию: fe_typo_user; be_typo_user; PHPSESSID.
и что же???

fe_typo_user это поле "ses_id" таблицы fe_sessions... и поля в этой табилце имеют свойство загибаться, по истечении некоторого (кстати, до сих пор мне не понятного, но довольно продолжительного, ~5-10 часов) времени... и каким это механизмом управляется, я так и не разобрал...

т.е. куки сохраняют это поле, и как оно в очередной раз загнётся, так и требует логин-бокс очередной раз входа :(

чувствую придётся писать свой собственный логин-бокс... уж с регистратором нормальным, наверное, и с учтением собственных переменных, понятиями чуть ширше, чем просто fe_typo_user, дабы автовход осуществлять...

jax 21.12.2005 15:23

re: Сессии в Typo3
 
Для подсчета количества пользователей CHC-forum-а находящихся в онлайне делал такой запрос:
Код:

$query = 'SELECT DISTINCT fe_sessions.ses_userid, fe_users.name, fe_users.username, fe_users.uid FROM fe_users, fe_sessions WHERE fe_users.pid = '.$pid.' AND fe_users.uid = fe_sessions.ses_userid AND fe_users.is_online AND fe_sessions.ses_tstamp>(UNIX_TIMESTAMP()-600)';
Решено, конечно, в лоб, но работает устойчиво. Показывает залогинившихся пользователей которые в течение 600 последних секунд проявили активность (открыли любую страницу сайта) и не разлогинились явно.
См.http://www.fcneman.com/forum.html

Ars Longa 22.12.2005 01:18

re: re: Сессии в Typo3
 
ну


Часовой пояс GMT +4, время: 04:08.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot