• 13384
  • 247
  • 19
Нравится блог?
Подписывайтесь!

Счетчик без накруток. Общий принцип работы.

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

Проблема: Как ранее писал Федор, существует множество методов накрутки счетчиков статистики. Самые продвинутые из этих методов, основываются на подмене параметра Referrer в коде счетчика, который отвечает за информацию о том, с какой страницы на сайт пришел пользователь. В конечном итоге, проблема заключается в том, что большинство кодов статистики статичны и подвержены подмене. Причина этому в том, что код счетчика генерируется на стороне клиента, так как используется код Javascript – сценарий, который выполняется браузером клиента (пользователем).

Решение: Существует ли решение этой проблемы? Конечно! Достаточно ввести некий динамический параметр, который генерируется и проверяется на основании данных пользователя, которые невозможно подменить, т.е. не на уровне JS, а на уровне IP протокола. Самыми очевидными параметрами могут быть IP, время обращения и т.д. На основании этих данных можно сгенерировать закодированный параметр вида «fdhjfk4jk234jh34hsdlskiu12», который при расшифровки будет содержать исходные данные и подменить, который возможно только зная алгоритм генерации или пароль(ключь) в случае с md5. Другими словами на пользователя открывается знакомая всем программистам сессия.

Что дальше? Дальше в коде счетчика указан адрес где располагается JS файл, который генерируется сервером статистики, и в котором содержится та самая строка, которая является динамической и не может быть корректно подменена. Пользователь при загрузке счетчика дважды обращается к серверу: в первый раз, когда загружает JS файл, во второй, когда сценарий передает данные на сервер. Таким образом мы можем легко проверить были ли  данные изменены на стороне сервера, площадки которая стремиться накрутить траффик и выдать его как качественный.

Сценарий развития событий при попытке подмены кода: На сайт осуществляется переход с порно-ресурса. Злоумышленник видет это и пытается подменить код. Запрашивает JS ( код счетчика) у системы статистики и получает его со строкой, которая содержит данные о сессии клиента в данном случае сервера злоумышленника где расположен скрипт подмены. Меняет строку Referrer на нужное значение и выдает подмененный код пользователю. Далее на стороне пользователя выполняется подменненный код, и пользователь обращается к сценарию статистики, который уже расположен на стороне сервера статистики с подмененными параметрами. Система анализируя полученные данные понимает, что сессия пользователя не существует или не соответствует полученным данным и не считает этот переход.

Мне кажется я нигде не ошибся. Давайте обсудим этот метод, может я не прав?

15 октября 2010, 12:34
1325

Загрузка...
Loading...

Комментарии

Давайте идеи как вы сможете накрутить счетчик, а я подумаю, что сделать чтобы этого избежать =)
OhShi
0
0
>>>На сайт осуществляется переход с порно-ресурса. Злоумышленник видет это и пытается
>>>подменить код. Запрашивает JS ( код счетчика) у системы статистики и получает
>>>его со строкой, которая содержит данные о сессии клиента в
>>>данном случае сервера злоумышленника где расположен скрипт подмены.
>>>Меняет строку Referrer на нужное значение и выдает подмененный код
>>>пользователю. Далее на стороне пользователя выполняется подменненный код,
>>>и пользователь обращается к сценарию статистики, который уже расположен
>>>на стороне сервера статистики с подмененными параметрами.
>>>Система анализируя полученные данные понимает,
>>>что сессия пользователя не существует или не соответствует
>>>полученным данным и не считает этот переход.

Какие идеи? Тут написана какая-то хуйня, которую даже критиковать лень. Это явно писал человек, который сам не в теме и не понимает, как это всё работает.
Думаю, что понимаю я побольше вашего. Если есть что сказать по существу - пишите! Если нет, то держите рот на замке.
Ок. Тогда начни с объяснения, из чего формируется строка. В неё входит реферер?
Нет. Это не нужно. Допустим строка формируется из ip клиента и времени обращения к серверу.
Тогда зачем она вообще нужна? Как она помешает подменить реферера?

Слушай, давай так. Для облегчения дискуссии мне просто необходимо знать, с кем я говорю - с гуманитарием, который ни разу не видел код, или просто с хуёвым программистом. От этого зависит, насколько доходчиво мне надо объяснять технические моменты.
Нужна она для того, чтобы понять обращался ли этот клиент к серверу статистики в указанное время прежде чем отправить туда данные или нет.

Боюсь на твой вопрос я могу ответить только при личной встрече.
При отправки данных в систему статистике отправляется и эта самая строка, при расшифровке которой можно понять действительно ли это его данные или они были подменены.
Я тебе без строки скажу - обращался. Кто сделает это заместо него? Почему нельзя дать клиенту получить код, начать сессию, потом произвести замену реферара, а потом отослать второй запрос с кодом из первого?

Чувак, я тебе вопросы задаю не просто так. Если ты действительно хочешь понять, почему твой метод ебанутый и не взлетит - я могу помочь. А если твоя цель - рисануться "супер не взламываемым счётчиком", то это совсем другое дело и тут я тебя оставлю развлекаться одного. Так что либо ты говоришь, какой у тебя опыт разработки, либо считаем этот пост моим фейлом, т.к. я потратил столько слов на объяснение гуманитарию почему его хуйня не пашет.
Где ты возьмешь код строки если JSка грузится с сервера на комп клиента? А запрос на отправление данных содержится в самой JSке? Что ты сделаешь? Где ты собрался подменять реферрер?
>>>Где ты возьмешь код строки если JSка
>>>грузится с сервера на комп клиента?
>>>А запрос на отправление данных
>>>содержится в самой JSке? Что ты сделаешь?
>>>Где ты собрался подменять реферрер?

Чувак, мне правда важно знать твой опыт разработки, чтобы ответить на этот вопрос. Иначе ты просто не поймёшь, что я имею в виду.
Считай что я хуевый программист ок
>>>Считай что я хуевый программист ок
Нет уж. Всё говорит за то, что ты гуманитарий лезущий не в своё дело (:
p0is0n
0
0
Как сказали выше твой метод полная хуита.

Вот для начала:

Дальше все ясно.
p0is0n
0
0
iframe src="http://counter/cnt.js" onload="alert(this.contentWindow.document.body.innerHTML);" /iframe
Все хорошо, но я вот не могу вспомнить одну вещь. Если JS вызывается из
Чото не отправилось. Короче ифрейм в порносайте полюбому оставит реферрер, обработав который система не учтет следующий переход по сгенерированному коду.
OhShi
0
0
Код счётчика на другом домене, значит "this.contentWindow.document.body.innerHTML" на айфрейм не сработает. Тут надо исходить из способа его вывода на страницу. Например если выводится через "document.write" - то переопределить её так, чтобы перед выводом модифицировался реферер.
Давай расскажи гуманитарию как модифицировать реферер не имея к нему доступа =)
Тебе уже p0is0n почти прямым текстом сказал. Только его вариант не будет работать из-за кроссдоменной политики, я его поправил. Поэтому мне и нужно было узнать твой уровень - ты просто не понял такое объяснение ):

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

Оставьте свой комментарий

Спасибо за открытие блога в Yvision.kz! Чтобы убедиться в отсутствии спама, все комментарии новых пользователей проходят премодерацию. Соблюдение правил нашей блог-платформы ускорит ваш переход в категорию надежных пользователей, не нуждающихся в премодерации. Обязательно прочтите наши правила по указанной ссылке: Правила

Также можно нажать Ctrl+Enter

Популярные посты

«Предатели Русского мира». Кто учит нас, какими буквами писать и чью культуру любить

«Предатели Русского мира». Кто учит нас, какими буквами писать и чью культуру любить

Истерический вой, поднявшийся в российских СМИ по поводу перевода казахского языка на латиницу, блогер и публицист из Казани Римзиль Валеев оценил довольно-таки точно, на наш взгляд.
openqazaqstan
18 апр. 2017 / 16:47
  • 32700
  • 243
Казахстан сидит на чемоданах. А некоторые из нас – непосредственно в них

Казахстан сидит на чемоданах. А некоторые из нас – непосредственно в них

Откуда я знаю, спросите вы? Да очень просто. Голые мужики в сауне могут врать только про баб. Про машины и планы переездов – только по-чесноку. Чего уж скрывать, если все остальное напоказ.
Lesch
17 апр. 2017 / 23:30
  • 6265
  • 23
Как выбрать новостройку в Алматы: инсайты, критерии и личный опыт

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

Я прекрасно понимаю тех, кто долго ищет подходящую квартиру - сама искала, потратила на поиск 1,5 года. Что, прежде всего, повлияло на мой выбор при покупке квартиры в новостройке Алматы?
Zhumanova
21 апр. 2017 / 10:04
  • 3284
  • 10
«А ты покушала?» или Как завоевать сердце женщины простой заботой

«А ты покушала?» или Как завоевать сердце женщины простой заботой

Так как опыт хождения по свиданиям у меня немаленький, да и с интуицией давно дружу, я быстро отсеиваю тех, с кем будут проблемы. Как я это определяю? Очень просто.
Bonittta
22 апр. 2017 / 14:10
«Третья мировая война начнётся в мае 2017 года» – провидец из Португалии

«Третья мировая война начнётся в мае 2017 года» – провидец из Португалии

Провидец из Португалии по имени Горацио Вильегас считает, что новая мировая война состоится уже в текущем году. Считается, что португалец два года назад объявил, что Трамп станет президентом.
Seattle
21 апр. 2017 / 15:33
  • 2664
  • 12
Депутат сената Айтимова: «Не нужно критиковать депутатов, так как вы сами их избирали»

Депутат сената Айтимова: «Не нужно критиковать депутатов, так как вы сами их избирали»

Наши депутаты известны не достижениями и работой, а своими высказываниями. Сегодня в СМИ вышла новость, где депутат сената Бырганым Айтимова ответила на критику народа.
tala03
20 апр. 2017 / 13:44
  • 2392
  • 19
Меня вывели из себя ученики 8 класса. Я осознала, что не хочу быть учителем

Меня вывели из себя ученики 8 класса. Я осознала, что не хочу быть учителем

Когда я пришла в первый раз на работу, слышала как доносятся крики из разных кабинетов. Крики это были не детей, а учителей, которые не могут сдержаться, когда уже все силы иссякли...
teacher1210
19 апр. 2017 / 7:56
  • 2525
  • 61
Стихия всё спишет. Почему дамба за 200 миллионов никого не спасла?

Стихия всё спишет. Почему дамба за 200 миллионов никого не спасла?

Наводнение в Атбасаре, размытые дороги, подтопленные сёла по всему Центральному и Северному Казахстану... Что происходит?
openqazaqstan
19 апр. 2017 / 15:20
  • 2336
  • 14
Чем меньше риск, тем меньше прибыль. Давайте зарабатывать больше, а я вам помогу

Чем меньше риск, тем меньше прибыль. Давайте зарабатывать больше, а я вам помогу

Если хотите жить как все казахстанцы, а казахстанцы в среднем живут очень бедно, то можете продолжать так же жить прежней жизнью, но если вы хотите жить лучше, чем вчера, надо заняться...
noyanovmyras
17 апр. 2017 / 17:02
  • 4699
  • 27