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

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

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

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

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

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

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

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

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

Загрузка...

Комментарии

Давайте идеи как вы сможете накрутить счетчик, а я подумаю, что сделать чтобы этого избежать =)
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

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

Я был удивлён, что в Азербайджане есть Казахский район

Я был удивлён, что в Азербайджане есть Казахский район

Мне как казаху по национальности очень хотелось туда попасть. Оказалось, что климат там намного суровей и люди, говорят, суровые и воинственные. Казах – город на западе Азербайджана...
alidimash
18 янв. 2017 / 21:50
  • 30483
  • 18
Многочасовые очереди, смерти в ЦОНах: почему вопросы об этом ставят парламентариев в тупик?

Многочасовые очереди, смерти в ЦОНах: почему вопросы об этом ставят парламентариев в тупик?

Ожидали ли депутаты Мажилиса всего этого? Как планировали этот процесс регистрации, и обсуждали ли его, прежде чем одним нажатием кнопки принять нормы с такими абсурдными временными рамками?
openqazaqstan
17 янв. 2017 / 14:32
  • 5058
  • 22
Астана глазами алматинских девушек. Как при таких погодных условиях можно выжить?

Астана глазами алматинских девушек. Как при таких погодных условиях можно выжить?

В спальных районах, и в высотных домах сквозь стены слышно завывание ветра. В особенности ночью. Такие звуки, я слышала, пожалуй, только по телевизору, в фильмах про метель.
Naomi_K
20 янв. 2017 / 12:36
Сильное ДТП произошло в Алматы на Тимирязева-Байзакова

Сильное ДТП произошло в Алматы на Тимирязева-Байзакова

NoComment (c) Официальный слоган EuroNews. Катастрофа на алматинской утренней трассе началась с того, что водители «Ниссана» и микровена ожидали сигнала светофора на запад по Тимирязева...
ibestreporter
17 янв. 2017 / 22:52
  • 3878
  • 5
Вейпинг безопасен? Эндрю Холл из США тоже так считал, пока что-то не пошло не так

Вейпинг безопасен? Эндрю Холл из США тоже так считал, пока что-то не пошло не так

Эндрю Холл из США считал, что вейпинг безопасен и усиленно убеждал в этом близких. Но как-то раз что-то пошло не так. Это результат взрыва хипстерского устройства - выбило 7 зубов + ожоги и раны...
Maxambet
17 янв. 2017 / 16:28
  • 3928
  • 52
Это поколение просрет страну. 20-летняя молодежь представляет из себя сказочных эльфов

Это поколение просрет страну. 20-летняя молодежь представляет из себя сказочных эльфов

Смотря в очередные пустые глаза вчерашнего студента, приходящего устраиваться на первую работу страшно становится. Потому что сравниваю с теми же китайскими студентами, которые готовы выгрызать себе мечту.
mbaitykov
18 янв. 2017 / 11:34
Становится хуже, но как-то постепенно. Беднеем, но тоже как-то не разом

Становится хуже, но как-то постепенно. Беднеем, но тоже как-то не разом

Помню, когда я уезжал и Казахстана, тут было довольно прилично, даже не смотря на то, что жить было невыносимо. Но прилично так. Мусора было меньше. Дороги чистили, вони почти не было. Да и в остальном тоже норм.
shootnix
18 янв. 2017 / 12:49
  • 3658
  • 35
Любимый Тайланд. Правящий король называет Паттайю «черным пятном на репутации страны»

Любимый Тайланд. Правящий король называет Паттайю «черным пятном на репутации страны»

Тайланд мы впервые посетили в декабре 2012 года. Полученные эмоции настолько были яркими, что в конце 2015 года мы решили еще разок слетать в Тайланд. Вспоминая Тай, первое о чем я думаю - горячий...
zhainar_d
17 янв. 2017 / 11:11
  • 3534
  • 24
Поправки в стиле «1937» не прошли. МИК отказалось от запрета анонимных комментариев

Поправки в стиле «1937» не прошли. МИК отказалось от запрета анонимных комментариев

Сегодня Министерство информации и коммуникаций исключило из законопроекта предложенные ранее нормы, предполагавшие «деанонимизацию» комментаторов и регистрацию блогеров.
openqazaqstan
20 янв. 2017 / 12:12
  • 2428
  • 22