[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: количество запущенных сессий
Админ
Глаза уже болят от мануалов - возник такой вопрос - какя функция выдаёт количество запущенных на сервере сессий (что-б узнать сколько пользователей на сайте в данный момент) и как вычисляют присутсвие ботов на сайте ?



Спустя 13 минут, 11 секунд (19.09.2010 - 15:39) SlavaFr написал(а):
нет такой функции.

Спустя 13 минут, 24 секунды (19.09.2010 - 15:52) Админ написал(а):
да ладно blink.gif

Спустя 6 минут, 40 секунд (19.09.2010 - 15:59) Basili4 написал(а):
Админ
пока нет но в пыхе есть возможность переопределить функции сохраняющие сессию можешь это сделать и тогда будешь в курсе всех закулисных дел пэхапе., касающихся сессий.

Спустя 2 минуты, 2 секунды (19.09.2010 - 16:01) Админ написал(а):
тогда переделаю вопрос - как узнать сколько пользователей на сайте в данный момент и как вычисляют присутсвие ботов на сайте ?

Спустя 11 минут, 37 секунд (19.09.2010 - 16:13) Basili4 написал(а):
Админ
очень просто при входе на сайт ID пользователя помещают в таблицу online

при выходе logout удаляют либо при отсутсвии активности пользователя. Вот её определяют различными способами можно вызывать функцию при генерации страницы которая будет в таблице online обновлять время обращения пользователя к сайту и попутно удалять тех кто уже 15 минут не активен.
Можно по тймеру запускать js функцию которая будет отсылать пхп скрипту сигнал о том что это пользюк жив.

Спустя 3 минуты, 33 секунды (19.09.2010 - 16:16) Админ написал(а):
Цитата
очень просто при входе на сайт ID пользователя помещают в таблицу online

это если он зарегестрирован - ну вообщем я уже и так допёр.
остался вопрос про ботов.

Спустя 5 минут, 48 секунд (19.09.2010 - 16:22) ZSH написал(а):
$_SERVER['HTTP_REFERER']

Спустя 2 минуты, 48 секунд (19.09.2010 - 16:25) Админ написал(а):
а по другому никак ? вот просто цитата из мануала
Цитата
'HTTP_REFERER'
Адрес страницы (если имеется), которая направила пользовательский агента (ПА) на текущую страницу. Устанавливается ПАгентом. Не все ПА будут его устанавливать, а некоторые могут модифицировать HTTP_REFERER. Короче говоря, доверять ему нельзя.

Спустя 3 минуты, 49 секунд (19.09.2010 - 16:29) ZSH написал(а):
по другому не знаю, сам вычисляю через HTTP_REFERER.
если даже гдето и подмененный то не так оно важно 100 или 99

Спустя 5 минут, 31 секунда (19.09.2010 - 16:34) Mizka написал(а):

какя функция выдаёт количество запущенных на сервере сессий

можно ещё как-то так:

<?php
session_start();
function getOnlineUsers() {
$count = 0;
$handle = opendir(session_save_path());
if ($handle == false){
return -1;
}
while(($file = readdir($handle)) != false) {
if(preg_match('/^sess/', $file)){
$count++;
}
}

closedir($handle);
return $count;
}

echo getOnlineUsers();

только надо ещё как-то учитывать время когда была создана сессия...

Спустя 7 минут, 14 секунд (19.09.2010 - 16:41) Админ написал(а):
Mizka
тож ничего - но мне кажется что проще создать динамическую базу в которую будут заносится все кто зашёл на сайт (если юзер не зареган то можно присвоить ему что-нить типа псевдоайди)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.