2012-05-20 17 views
9

Więc utknąłem, próbując dowiedzieć się, jak Google Analytics unika podszywania się. Oczywiście, gdy zarejestrujesz się na konto, sprawdzisz, czy jesteś właścicielem domeny, przesyłając plik. Ale dostaniesz też tagi skryptów z unikalnym publicznym kodem (zastąpionym przez "XXXXXXX" poniżej). Co powstrzymuje kogokolwiek przed skopiowaniem tego kodu, podszywaniem nagłówków żądań i udawanie mojej witryny przez stosowanie strategii uwierzytelniania Google z curl?W jaki sposób Google Analytics unika fałszowania?

<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> 

Pytam dlatego, że staram się stworzyć podobną wtyczkę JavaScript, który udostępnia dane mojej strony do uczestniczących stron internetowych („Klienci”). Nie jestem pewien, jak mogę uzyskać tę funkcjonalność bez klucza prywatnego po stronie serwera klienta. Ten rodzaj do kitu, ponieważ naprawdę chciałem zintegrować się z "łatwym jak Google Analytics". jakieś pomysły?

+0

W jaki sposób ktoś podszywa się pod twoją domenę (z plikiem na niej)? Chodzi mi o to, że wiem, że można to zrobić, ale nie sądzę, żeby ktoś przeszedł przez te wszystkie kłopoty z obsługą statystyk. Czy może czegoś tutaj brakuje? – PeeHaa

+0

Myślałem o tym wcześniej, ale nie mogłem wymyślić powodu, dla którego ktoś chciałby to zrobić. Ten spoofer po prostu wstawiałby dane do mojego strumienia, więc co by zyskały? – freejosh

+2

@freejosh Zakładam, że Google rozwiązał ten problem nie dlatego, że moja witryna jest ważna, ale ponieważ integralność wszystkich stron internetowych korzystających z ich oprogramowania analitycznego jest ważna. Jednak to pytanie jest mniej związane z Google i bardziej związane z bezpieczeństwem w tej konkretnej strategii. Jak zapobiec spoofingowi w tym scenariuszu? – leahy16

Odpowiedz

5

Wygląda na to, że to pytanie naprawdę nie ma nic wspólnego z Google Analytics (naprawdę sugerowałbym, aby usunąć to z twojego pytania, ponieważ myślę, że wprowadza w błąd większość ludzi i nie zbliża cię do twojej odpowiedzi).

Masz trochę danych i chcesz udostępnić je tylko wybranym stronom. Nie ma innego sposobu, aby to zrobić, oprócz ochrony danych za pomocą jakiegoś schematu autoryzacji, a następnie nadania wybranym stronom jakiegoś hasła lub klucza umożliwiającego im dostęp, podczas gdy inne osoby, którym nie dałeś klucza, nie otrzymają dostęp do danych.Nawet ten schemat działałby tylko, gdyby kod uzyskujący dostęp do danych znajdował się w prywatnym obszarze na serwerze (gdzie klucze/hasła mogą być chronione), a nie javascript w przeglądarce.

Jeśli chodzi o fałszowanie GA (co nie wydaje mi się mieć nic wspólnego z twoim prawdziwym pytaniem), podejrzewam, że Google nie martwi się tym zbytnio, ponieważ nie jest to atak typu odmowa usługi na konta GA w ogóle (które, jak podejrzewam, chronią przed), jakie korzyści przynosi nagranie trafienia na czyjąś stronę? Ktokolwiek to robi, nie może uzyskać dostępu do danych, ponieważ dane znajdują się na czyimś koncie GA. Przypuszczam, że można by to złościć, gdy ktoś próbowałby zepsuć swoje numery GA, ale bez jakiejś bardziej opłacalnej motywacji, prawdopodobnie nie ma wielu ludzi, którzy próbują to zrobić.

+1

Informacje analityczne są ważne dla wielu organizacji. Myślę, że to całkiem oczywiste, co zyskujesz, nagrywając fałszywe dane analityczne na innej stronie internetowej, tak jak wszelkie ataki wandalizmu na jakimkolwiek konkurencyjnym rynku. W tym przypadku odmawiasz konkurentom dobrego dostępu do cennych informacji analitycznych, które GA ma dostarczać i/lub kieruje nimi w kierunku szkód za pomocą wprowadzających w błąd danych. To pytanie jest bardzo istotne dla GA, ponieważ mechanizmy bezpieczeństwa są bardzo specyficzne dla produktu/technologii. – Sheepy

+0

Rozumiem dokładnie to pytanie, ponieważ szukam dokładnie tego samego. Wyjaśnij architekturę uwierzytelniania za usługami takimi jak Google Analytics. Przytoczony przykład jest moim zdaniem bardzo dobry. – RandallTo

2

Interesujące pytanie.

Jako wskazówka dla komentarzy, Google tak naprawdę nie rozwiązuje tego problemu. W rzeczywistości często stosuje się warunkowe kodowanie/wstępne przetwarzanie, aby wyłączyć GA w Twojej witrynie testowej/skrzynce dev, ponieważ jeśli tego nie zrobisz, spowoduje to zepsucie twoich numerów.

Możesz spróbować czegoś w rodzaju podejścia trójstronnego z serwerem analitycznym, serwerem klienta i klientem. Może to wyglądać tak:

  • Serwer klienta i serwer analityczny mają tajny klucz. Kiedy klient trafi na stronę klienta, serwer klienta informuje serwer analityczny, że chce rozpocząć śledzenie tego konkretnego klienta.

  • Twój serwer analityczny generuje identyfikator sesji dla tego użytkownika i zwraca dynamiczny adres URL do serwera klienta. Adres URL wskazuje na kod śledzenia JavaScript (lub program ładujący dla niego), wstrzyknięty z identyfikatorem sesji.

  • Serwer klienta wysyła stronę do klienta. Strona zawiera kod śledzenia po stronie klienta z unikalnym identyfikatorem sesji. Akcje są śledzone i wysyłane na twój serwer analityczny.

  • Na serwerze analitycznym użytkownik otrzymuje informacje o śledzeniu z komputera klienta. Sprawdzasz, czy identyfikator sesji jest prawidłowy i nie wygasł oraz czy adres IP jest zgodny.

To powinno zapewnić dodatkowy poziom bezpieczeństwa. Niestety "integracja Google Analytics nie będzie łatwa" oznacza udział strony internetowej po stronie klienta. Nie przyniesie też tak wiele korzyści śledzeniu użytkowników, którzy nie zostali uwierzytelnieni przez klientów, ponieważ osoba trzecia może po prostu odwiedzić witrynę klienta, aby uzyskać prawidłowy identyfikator sesji, a następnie wysłać fałszywe informacje do serwera analitycznego. Jednak dla klientów uwierzytelnionych przez witrynę klienta może być przydatna.

Powodzenia!

+1

Istnieje również [otwarta analityka internetowa] (http: //www.openwebanalytics.com /), btw ... –

Powiązane problemy