2012-05-20 3 views
9

Так что я застреваю, пытаясь понять, как Google Analytics избегает подмены. Конечно, когда вы регистрируетесь для учетной записи, они заставляют вас проверить, что вы являетесь владельцем домена, загрузив файл. Но вам также дают некоторые теги скриптов с уникальным открытым кодом (замененным на «XXXXXXX» ниже). Что мешает кому-то копировать этот код, обманывать заголовки запросов и притворяться моим сайтом, следуя стратегии аутентификации Google с завитом?Как Google Analytics избегает Spoofing?

<script type="text/javascript"> 

    var _gaq = _gaq || []; 
    _gaq.push(['_setAccount', 'XXXXXXX']); 
    _gaq.push(['_trackPageview']); 

    (function() { 
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; 
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; 
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); 
    })(); 

</script> 

Я спрашиваю потому, что я пытаюсь создать подобный плагин JavaScript, который предоставляет данные моего сайта на сайтах-участниках («клиентов»). Я не уверен, как я могу получить эту функциональность без закрытого ключа на стороне сервера клиента. Такого рода отстой, потому что я действительно собираюсь полностью «легко интегрировать Google Analytics». Есть предположения?

+0

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

+0

Я думал об этом раньше, но не мог придумать причины, почему кто-то захочет это сделать. Сапожник просто будет вставлять данные в мой поток, так что им нужно будет получить? – freejosh

+2

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

ответ

5

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

У вас есть данные, и вы хотите поделиться им только с избранными сайтами. Нет другого способа сделать это, кроме защиты данных с помощью какой-либо схемы авторизации, а затем предоставления выбранным сайтам своего рода пароля или ключа, который позволяет им иметь к нему доступ, в то время как другие, кому вы не дали ключ, не получите доступ к данным.Даже эта схема будет работать только в том случае, если код доступа к данным находится в частной области на сервере (где ключи/пароли могут быть защищены), а не в JavaScript в браузере.

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

+1

Аналитическая информация важна для многих организаций. Я думаю, что довольно ясно, что вы получаете от записи фальшивых данных аналитики на другом веб-сайте, как и любые атаки вандализма на любом конкурентном рынке. В этом случае вы отказываете своим конкурентам в хорошем доступе к ценным аналитическим сведениям, которые GA должна предоставлять, и/или рулевому управлению ими, чтобы нанести вред с помощью вводящих в заблуждение данных. Этот вопрос очень важен для GA, поскольку механизмы безопасности очень специфичны для продукта/технологии. – Sheepy

+0

Я прекрасно понимаю вопрос, поскольку я ищу то же самое. Объясните архитектуру аутентификации за такими сервисами, как Google Analytics. Приведенный пример очень хорош, на мой взгляд. – RandallTo

2

Интересный вопрос.

Как говорится в комментариях, Google действительно не обращается к этому. На самом деле, обычно есть условный код/​​препроцессорный материал, чтобы отключить GA на ваших промежуточных сайтах/dev, потому что, если вы этого не сделаете, это испортит ваши номера.

Вы можете попробовать своего рода трехногий подход с сервером аналитики, сервером клиента и клиентом. Это может сработать примерно так:

  • Клиентский сервер и ваш аналитический сервер имеют секретный ключ. Когда клиент попадает на сайт клиента, сервер клиента сообщает серверу своей аналитики, что он хочет начать отслеживание этого конкретного клиента.

  • Ваш сервер аналитики генерирует идентификатор сеанса для этого пользователя и возвращает динамический URL-адрес на сервер клиента. URL указывает на ваш код отслеживания JavaScript (или загрузчик для него), который вводится с идентификатором сеанса.

  • Сервер клиента отправляет страницу клиенту. Страница содержит код отслеживания на стороне клиента с уникальным идентификатором сеанса. Действия отслеживаются и отправляются на ваш сервер аналитики.

  • На вашем сервере аналитики вы получаете информацию отслеживания с машины клиента. Вы проверяете, что идентификатор сеанса действителен и не истек, и соответствует IP-адрес.

Это должно обеспечить дополнительный уровень безопасности. К сожалению, это будет не так просто, как интеграция с Google Analytics ..., это будет связано с участием на стороне сервера со стороны ваших клиентов. Он также не будет настолько полезен для отслеживания пользователей, которые не были аутентифицированы вашими клиентами, потому что третья сторона могла просто посетить сайт вашего клиента, чтобы получить действительный идентификатор сеанса, а затем отправить некоторую фальшивую информацию на ваш сервер аналитики. Однако для клиентов, прошедших проверку подлинности на сайте вашего клиента, это может быть полезно.

Удачи вам!

+1

Существует также [открытая веб-аналитика] (http: //www.openwebanalytics.com /), btw ... –

Смежные вопросы