Как устроены счетчики...

12
V2
На сайте с 28.10.2004
Offline
40
2326

Из устройства счетчиков распространенных мне многое непонятно. То есть непонятен их код.

1. Почему рефер береться через escape(document.referrer) , как это помогает ? Ведь это значение в get запросе можно вручную подделать, не надежнее ли смотреть по реферу средствами языков веб программирования непосредственно при запросе элемента ?

2. Math.random() - для чего это случайно число ? Какую роль оно играет ?

Пример счетчика :


<!--LiveInternet counter--><script language="JavaScript"><!--
document.write('<a href="http://www.liveinternet.ru/click" '+
'target=_blank><img src="http://counter.yadro.ru/hit?t16.6;r'+
escape(document.referrer)+((typeof(screen)=='undefined')?'':
';s'+screen.width+'*'+screen.height+'*'+(screen.colorDepth?
screen.colorDepth:screen.pixelDepth))+';u'+escape(document.URL)+
';'+Math.random()+
'" title="liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодн\я" '+
'border=0 width=88 height=31></a>')//--></script><!--/LiveInternet-->
Бесплатный счетчик посещений. Статистика посещаемости сайта. (http://www.web-keeper.net/) Широкие услуги вебмастера. (http://rus-job.info/)
V2
На сайте с 28.10.2004
Offline
40
#1

Вот пример ссылки по которой захродит браузер при открытии страницы. (адресс сайта изменен)

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

ЗЫ, сейчас вот зашел по этой ссылочке кучу раз.. в итоге немного накрутил счетчик.

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

V2
На сайте с 28.10.2004
Offline
40
#2
document.referrer

Кстати это я оговрился так сказать. Этот рефер поятно что береться дабы узнать откуда чел пришел на данную считаемую страницу, ибо после обращения к счетчику через языки веб программирования это значение уже получить не получиться таким образом $HTTP_REFER (PHP). А вот зачем document.URL если он являетсья полной аналогией $HTTP_REFER только более НЕ надежной.

[Удален]
#3

на сколько мне известно - не является. Но спорить не стану.

А рандом вставляется для защиты от кэширования.

V2
На сайте с 28.10.2004
Offline
40
#4
на сколько мне известно - не является. Но спорить не стану.

Хоть спорить ты не станкшь, однако свои мысли выскажу.

--- document.URL передаеться в самой GET ссылке(что дает возможность легко менять это значние), как я говорил выше : зарегил новый сайт, заменил адрес в url и наруктил счетчик старого сайта. document.URL лишний раз заставляет браузер пользователя поднапрячься и нагромоздить ссылку.

--- $HTTP_REFER же в любом случае приисутствует в глобальных массивах в при обработке скприптов на сервере. И подменить это значние будет сложнение - ибо нужно будет вручную формировать заголовки запроса.

Однако, может не все браузеры при загрузке графики(или другого элемента страницы) в запрос включают в качестве рефера родительскую страницу ?

А рандом вставляется для защиты от кэширования.

Слушай, ты гений ! =) Как все оказывается незамысловато, а мне такое в голову не пришло.

OP
На сайте с 19.12.2003
Offline
44
#5
Из устройства счетчиков распространенных мне многое непонятно. То есть непонятен их код.

Давайте вместе разберемся :-)

1. Почему рефер береться через escape(document.referrer) , как это помогает ? Ведь это значение в get запросе можно вручную подделать, не надежнее ли смотреть по реферу средствами языков веб программирования непосредственно при запросе элемента ?

Запрос к счетчику идет с конкретной страницы сайта. В HTTP заголовках в качестве URL стоит URL картинки счетчика (например, http://c.mystat-in.net/?i041905113300&t2&g1&w1280&c32&r&v3&j1), а в качестве Referer - URL страницы на которой размещен счетчик. Это те данные, которые можно получить средствами языков программирования. Получить же Referer страницы с которой посетитель перешел на сайт технически возможно только с помощью такой конструкции на JavaScript.

Что же касается подделки этой информации, то не вижу в этом ни для кого никакого смысла.

OP
На сайте с 19.12.2003
Offline
44
#6
Как писал kittenk
на сколько мне известно - не является. Но спорить не стану.
А рандом вставляется для защиты от кэширования.

Да, действительно, эти два значения идентичны.

--

Потоцкий Алексей

http://www.topping.com.ua

V2
На сайте с 28.10.2004
Offline
40
#7
Что же касается подделки этой информации, то не вижу в этом ни для кого никакого смысла.

Угу пишеться скрипт который перебирает поочередно прокси и запрашивает через них этот документ пару раз. В итоге статистика сайта получает от 100 дополнительных уникальных постеителей, 200-300 НЕуникальных заходов. Для слабо раскрученных сайтов неплохой способ не сидеть в рейтинге счетчика(если таковой имеется) в самом низу.

Хотя в любом случае от такой накрутки защититься невозможно, различается только сложность реализации.

Относительно document.referrer я же сказал что оговрился. Имел ввиду document.URL

Да, действительно, эти два значения идентичны.

Однако в одном случае напрягаеться javascript в дургом язык программирования на серваке. Второе более надежно с точки зрения не сильно просвященных юзеров(что я говорил выше).

OP
На сайте с 19.12.2003
Offline
44
#8
Угу пишеться скрипт который перебирает поочередно прокси и запрашивает через них этот документ пару раз. В итоге статистика сайта получает от 100 дополнительных уникальных постеителей, 200-300 НЕуникальных заходов.

Вообще-то изначальный вопрос не имеет никакого отношения к данному замечанию. И тем более не имеет отношения к системам статистики.

Если же переходить на рейтинги, то такой вариант перебора открытых прокси отслеживается роботом и такие заходы впоследствии не учитываются. Поэтому один-два раза накрутить можно, но пользы от этого большой не будет. А если очень наглеть, то могут же и выкинуть из рейтингов :-)

V2
На сайте с 28.10.2004
Offline
40
#9
Вообще-то изначальный вопрос не имеет никакого отношения к данному замечанию

Да, я забыл про это сказать с самого начала. Что я хотел выяснить как устроены счетчики "со всех сторон" и в плане безопасности(защиты от накрутки) в том числе.

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

Я заходил с прокси(специфической) и мой заход учитывался. Но даже если все остальные распространенные прокси не учитываются - то владелец сайта теряет часть информации о своих посетителях - ибо многие пользуются проксями.

Да и много ресурсов системных на проверку уходить будет : это же какждый ip (из миллионов в сутки) нужно будет прогнать по массиву с тысячей элементов на проверку сходства.

OP
На сайте с 19.12.2003
Offline
44
#10
Да, я забыл про это сказать с самого начала. Что я хотел выяснить как устроены счетчики "со всех сторон" и в плане безопасности(защиты от накрутки) в том числе.

ИМХО, я имел ввиду, что более правильная реализация, когда сервис статистики и сервис рейтинга разделены между собой. В частности, заходы через "открытые" прокси в принципе должны учитываться системами статистики для дальнейшего анализа владельцем сайта, но при этом не должны засчитываться в рейтинге.

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

См. выше.

Да и много ресурсов системных на проверку уходить будет : это же какждый ip (из миллионов в сутки) нужно будет прогнать по массиву с тысячей элементов на проверку сходства.

По сравнению с тем, какие ресурсы тратятся на обработку запросов и генерацию статистики, затраты на поиск "открытых" прокси не такие уж большие.

В принципе робот не напрягаясь в состоянии проанализировать в сутки от 5 миллионов уникальных IP адресов. При генерации же счетчика проверить есть ли IP адрес в базе "открытых" прокси не сложно и не долго.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий