Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Невкусные cookie, Определение количества посетителей. 
:(
    Опции темы
s_a_s_h_a
Дата 9.8.2004, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 261
Регистрация: 20.7.2004
Где: Петрозаводск

Репутация: нет
Всего: 1



Cookie.... У меня проблема с правильным определением количества посетителей.
Вообще как их определять? Я только понимаю, что их должно быть больше или равно количеству хостов и все. Вот определения нехорошего Hotloga:
Хосты - количество посетителей с уникальным IP-адресом.
Посетители - количество уникальных посетителей побывавших на
страницах вашего ресурса.

Кто-нибудь может пояснить мне это рекурсивное определение.

Я так понимаю, что число посетителей можно узнать только по кукам?
Тогда, может быть, кто-нибудь скажет в чем причина следующего результата:

На JavaScript мы узнаем поддерживаются ли куки в данном браузере:

var COOKIES=(navigator.cookieEnabled)? 1 : 0;

У меня получаются единички, даже тогда, когда куки явно не записываются. Это я отследил и точно в этом уверен и получается, что посетителей больше чем на самом деле.

Куки записываю и получаю так:

my $cookies=$ENV{HTTP_COOKIE};

print "Set-Cookie:name_cook=$cook\n";

Что не так?
PM MAIL   Вверх
GrayCardinal
Дата 9.8.2004, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: нет
Всего: 58



Цитата
проблема с правильным определением количества посетителей

А смысл решать эту проблемы через cookie ? Может просто для определения что страницу загружали - в нее вставить ссылку на "картинку", т. е. на Ваш скрипт ?


--------------------
PM MAIL WWW   Вверх
s_a_s_h_a
Дата 9.8.2004, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 261
Регистрация: 20.7.2004
Где: Петрозаводск

Репутация: нет
Всего: 1



GrayCardinal, смысл таков, что мне надо узнать количество хитов, хостов и посетителей. Хиты - это как раз то, что вы и имеете ввиду. Опять же в терминологии Hotloga
Хиты - количество просмотров страниц с установленным счетчиком на которых побывали посетители вашего ресурса.
Подсчет хитов и хостов (уникальные айпишники) ведется более или менее нормально. А вот с учетом посетителей проблемы.

PM MAIL   Вверх
GrayCardinal
Дата 10.8.2004, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: нет
Всего: 58



ясно. А контент - тайп ("Content-Type") строчка у вас как прописана ? Там должен быть один конец строки, если он стоит ДО этой строчки.
print "Set-Cookie:name_cook=$cook\n";
а в этой строчке два конца строки (конец заголовка), может проблема в этом ?
И может лучше вот так куки писать ? :
Код

use CGI;

packet_cookie = cookie (-NAME => "preference name",
  -VALUE => "dannie",
  -EXPIRES => "+2y");
print header (-COOKIE => $packed_cookie);


Цитата
получается, что посетителей больше чем на самом деле

А определять уникальность по IP-шнику нельзя ? IMHO, надежней чем по кукам...

Это сообщение отредактировал(а) GrayCardinal - 10.8.2004, 11:28


--------------------
PM MAIL WWW   Вверх
s_a_s_h_a
Дата 11.8.2004, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 261
Регистрация: 20.7.2004
Где: Петрозаводск

Репутация: нет
Всего: 1



Цитата
А определять уникальность по IP-шнику нельзя ? IMHO, надежней чем по кукам...


Нет. Ранее я уже писал, что число уникальных IP-адресов - это количество хостов в данной терминологии.

А что касается установки куков, так ведь они работают, но невсегда.
Можеть быть, просто кто-то в своих браузерах (почему-то только в IE 6.0) поставил точечку в дополнительных параметрах конфидициальности напротив запрещать, но я сомневаюсь что кому-то это надо. Так что задача определения чмсла посетителей остается пока нерешенной.

PM MAIL   Вверх
korob2001
Дата 11.8.2004, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 13
Всего: 61



Цитата

Можеть быть, просто кто-то в своих браузерах (почему-то только в IE 6.0) поставил точечку в дополнительных параметрах конфидициальности напротив запрещать, но я сомневаюсь что кому-то это надо.

И напрасно ты сомневаешься, многие отключают поддержку кук или на крайний случай получают куки только с уведомлением.
На мой взгляд более точное определение по IP, но и IP частенько изменяется ;), так что и тут есть свои недостатки.
Кстати IP вычесляе лучше так:
Код

$ip = $ENV{ HTTP_X_FORWARDED_FOR } || $ENV{ REMOTE_ADDR };

так будет более точнее, чем:
Код

$ip = $ENV{ REMOTE_ADDR };

А ещё лучше создай регистрацию, тогда уже будешь точно знать кто и сколько заходил.


Это сообщение отредактировал(а) korob2001 - 11.8.2004, 17:03


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
s_a_s_h_a
Дата 11.8.2004, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 261
Регистрация: 20.7.2004
Где: Петрозаводск

Репутация: нет
Всего: 1



Цитата
А ещё лучше создай регистрацию, тогда уже будешь точно знать кто и сколько заходил.

Не могу, так как это счетчик.

Код
$ip = $ENV{ HTTP_X_FORWARDED_FOR } || $ENV{ REMOTE_ADDR };

Я так и делаю.

Цитата
На мой взгляд более точное определение по IP

Я бы с радостью остановился на подсчете IP-адресов, но на работе мне говорят, что надо обязательно знать сколько посетителей было. Мол типа с одного хоста могут заходить разные посетители. Но так как работают эти куки... сколько их было на самом деле не узнать. Можно было бы придумать алгоритм по отслеживанию пути, но это очень ресурсоёмкий алгоритм получиться. Что делать? Не знаю...


PM MAIL   Вверх
korob2001
Дата 11.8.2004, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 13
Всего: 61



Можно проверять куки и если их не оказывается, то попробовать прицерить их клиенту, а затем снова проверить. Если кук и в этом случае не окажется, значит делать проверку по IP.

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

PS: вообще узнать точное кол-во посещений теоретически невозможно. С куками пороблема тебе известна, с ip думаю тоже. Для таких целей, я слышал можно вычислить индивидуальный номер модема, но это помоему делается на C/C++, хотя не уверен, можешь спросить. Это был бы идеальный выход из твоей ситуации.
Если мне не изменяет память, то слышал я это на http://perl.ru, но это было давно.


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




[ Время генерации скрипта: 0.0468 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.