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

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

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

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

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

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

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

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

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

Загрузка...
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

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

Дорога Алматы – Хоргос. Впечатления от первой поездки

Дорога Алматы – Хоргос. Впечатления от первой поездки

Если раньше путь до Хоргоса занимал около 5 часов по Кульджинской трассе, то сейчас время до границы с Китаем сокращается до 2,5-3 часов. Уже сейчас можно ехать по 4-полосной дороге с цементобетонным покрытием.
theYakov
15 сент. 2017 / 9:35
  • 5637
  • 13
Работа в Mc Donald's. Советы и лайфхаки для гостей

Работа в Mc Donald's. Советы и лайфхаки для гостей

За три месяца я поработала в трёх разных сферах. И сегодня, хочу поведать вам о работе в одной из богатейших компаний мира. Звучит значительно лучше, чем «Я работаю в Mc Donald’s».
madiNAtty
15 сент. 2017 / 12:44
  • 3111
  • 16
Почему депутат Божко хочет ограничить приток сельской молодёжи в города?

Почему депутат Божко хочет ограничить приток сельской молодёжи в города?

Вице-спикер Мажилиса Владимир Божко остановился на некоторых деталях известного конфликта в Астане возле строящегося «Абу Даби Плаза», затронув проблему «многочисленной сельской молодёжи»...
openqazaqstan
19 сент. 2017 / 13:16
  • 2384
  • 64
«Моя депрессия длилась больше двух лет». История о том, как я была готова сдаться

«Моя депрессия длилась больше двух лет». История о том, как я была готова сдаться

По данным статистики 2017 года Казахстан занимает 4 место по самоубийствам. Говорить об этом - социальное табу. Мы игнорируем разговоры о депрессиях. Потому что нам страшно.
goribaldi
18 сент. 2017 / 15:45
  • 2308
  • 68
Фотопрогулка по Алматы. Иностранцам не интересны наши стеклянные здания и моллы

Фотопрогулка по Алматы. Иностранцам не интересны наши стеклянные здания и моллы

Алматы - самый лучший город для меня, так как родной и самый близкий. Так как я много лет прожил за рубежом, могу сказать свою точку зрения, что надо делать у нас.
Ispanec
15 сент. 2017 / 6:20
  • 2146
  • 21
«Папина принцесса» или «обезьяна с гранатой»? Случай в бассейне

«Папина принцесса» или «обезьяна с гранатой»? Случай в бассейне

Мужчины спокойно подчиняются логичным правилам, большинство женщин пытаются выторговать себе особые условия. Я убеждалась в этом много раз.
ValentinaVladimirska
18 сент. 2017 / 14:25
  • 1870
  • 34
Лайфхаки для путешественников. Как я не заплатила ни цента за проживание в Испании

Лайфхаки для путешественников. Как я не заплатила ни цента за проживание в Испании

Бесплатное проживание и завтрак в Испании, как прокачать иностранный язык и где поймать бесплатные ништяки в Европе. Если вы backpacker, который пересекает границу разных стран каждую неделю -...
dianaobyrne
18 сент. 2017 / 12:16
  • 2370
  • 1
Бой Головкина и Альвареса завершился ничьей

Бой Головкина и Альвареса завершился ничьей

Канело согласен на реванш, что неудивительно, Гена тоже "за". Все это было немного ожидаемо - эксперты отмечали, что промоутеры надавят на поединок, и захотят растянуть его на трилогию.
Trequartista
17 сент. 2017 / 0:15
  • 2148
  • 17
«Это будут твои большие похороны». Гуф высказался о Скриптоните и Басте

«Это будут твои большие похороны». Гуф высказался о Скриптоните и Басте

Досталось и Скриптониту, который ранее опубликовал запись, о том, что больше не будет сниматься в клипе Гуфа и Тимати. "Я тебя ни о чем больше не попрошу, казах ты мой дорогой" - высказался рэпер.
tala03
сегодня / 15:48
  • 1465
  • 6