Счетчик посещений на перл .
От: Аноним  
Дата: 03.01.05 14:37
Оценка:
Надо сделать нетривиальный сабж .
Допустим , имеется сайт с главной страницей index.html .
Нужно , чтобы счетчик увеличивался для данного посетителя только один раз ,
при первом заходе на эту страницу .
В качестве одного из критериев я беру ip-шник посетителя .
Совершенно непонятно , как на перле отследить начало и конец сессии .
Re: Счетчик посещений на перл .
От: Yahs Россия  
Дата: 03.01.05 23:55
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Надо сделать нетривиальный сабж .

А>Допустим , имеется сайт с главной страницей index.html .
А>Нужно , чтобы счетчик увеличивался для данного посетителя только один раз ,
А>при первом заходе на эту страницу .
А>В качестве одного из критериев я беру ip-шник посетителя .

Обычно в таких случаях применяют cookies. Ip-шники и всякие юзер-агенты могут меняться у одного и того же компа.

А>Совершенно непонятно , как на перле отследить начало и конец сессии .


Стандартного способа отследить начало и конец сессии нет. Можно только предположить, что если от юзера с id=437 нет никакой активности в течение допустим 5 минут, он отсоединился.
Yahs — yet another hungry student
Re: Счетчик посещений на перл .
От: Algorithmus Украина  
Дата: 04.01.05 08:18
Оценка:
Если я правильно понял, принцип работы этого счетчика следующий — при первом заходе пользователя счетчик инкрементируется. В то время, как пользователь продолжает работу, никаких больше увеличений счетчика для него не происходит.
После того, как он "отсоединился" при следующем заходе повторяется то же самое...

Конец сессии никак отследить нельзя, за исключением двух случаев: пользователь нажал на ссылку "Logout", либо истекло время жизни cookie.

Поэтому можно использовать такой алгоритм:
1. При первом заходе пользователя инкрементировать счетчик, и устанавливать куку с определенным именем и с временем жизни, например, 30 минут.
2. А при каждом заходе на страницу предварительно проверять, установлена ли кука с таким именем. Если установлена — ничего не делать, в противном случае — см. п. 1.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.