2012-05-20 44 views
9

因此,我試圖弄清Google Analytics如何避免欺騙。當然,當您註冊一個帳戶時,他們會讓您通過上傳文件來驗證您是否擁有該域名。但是,您還會獲得一些具有唯一公共代碼的腳本標記(以下面的代碼爲'XXXXXXX')。什麼阻止某人複製該代碼,欺騙請求標題,並假裝成爲我的網站,方法是使用curl跟蹤Google的身份驗證策略?Google Analytics如何避免欺騙?

<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

我以前想過這件事,但不能提出一個理由_why_任何人都想這樣做。欺騙者只是將數據插入到我的信息流中,那麼他們必須獲得什麼? – freejosh

+2

@freejosh我假設谷歌已經解決了這個問題,並不是因爲我的網站很重要,而是因爲使用他們的分析軟件的所有網站的完整性非常重要。 但是,這個問題與谷歌相關性較低,而且更多與此特定策略的安全性有關。在這種情況下如何防止欺騙? – leahy16

回答

5

這聽起來像這個問題真的沒有任何關係與谷歌分析(我真的建議你從你的問題中刪除,因爲我認爲這是誤導大多數人,並沒有讓你更接近你的答案)。

你有一些數據,你只想與選定的網站分享。除了使用某種授權方案保護數據,然後向選定網站提供某種類型的密碼或密鑰以允許其訪問密碼或密鑰之外,沒有其他方法可以執行該操作,而其他未授予密鑰的用戶將無法獲得該密碼或密鑰訪問數據。即使這種方案只適用於訪問數據的代碼位於服務器上的私有區域(可以保護密鑰/密碼的位置),而不是瀏覽器中的JavaScript。

至於GA欺騙(我認爲這與您的真實問題沒有任何關係),我懷疑Google並不擔心這一點,因爲除了一般的GA拒絕服務攻擊外我懷疑他們確實有防範措施),那麼爲其他人的網站錄製點歌有什麼好處?無論誰在做,都無法訪問數據,因爲數據位於其他人的GA帳戶中。我想可以這樣做,因爲有人試圖搞砸他們的GA號碼,但沒有更多的有利可圖的動機,可能沒有很多人試圖做到這一點。

+1

分析信息對許多組織都很重要。我認爲這很明顯是從對另一個網站記錄假分析數據中獲得的結果,就像任何競爭市場中的任何破壞行爲攻擊一樣。在這種情況下,您拒絕您的競爭對手獲得GA應該提供的有價值的分析見解,並且/或者通過誤導性數據來指引他們走向傷害的方式。這個問題與GA非常相關,因爲安全機制非常符合產品/技術 – Sheepy

+0

我完全理解這個問題,因爲我正在尋找完全相同的東西。解釋諸如谷歌分析之類的服務背後的認證體系結構。我認爲這個例子非常好。 – RandallTo

2

有趣的問題。

作爲評論提示,谷歌並沒有真正解決這個問題。事實上,通常情況下有條件代碼/預處理的東西來禁用你的登臺站點/開發盒上的GA,因爲如果你不這樣做,它會搞砸你的數字。

您可以嘗試一種分析服務器,客戶服務器和客戶端的三種方法。它可以這樣工作:

  • 客戶的服務器和您的分析服務器共享一個密鑰。當客戶點擊客戶的網站時,客戶的服務器會告訴您的分析服務器要開始跟蹤此特定客戶。

  • 您的分析服務器爲該用戶生成會話ID,並向客戶的服務器返回一個動態URL。該URL指向您的JavaScript跟蹤代碼(或其加載程序),注入會話ID。

  • 客戶的服務器將頁面發送給客戶端。該頁面包含具有唯一會話ID的客戶端跟蹤代碼。跟蹤操作並將其發送到您的分析服務器。

  • 在您的分析服務器上,您會從客戶機器接收跟蹤信息。您檢查會話ID是否有效並且沒有過期,並且IP地址是否匹配。

這將提供額外的安全水平。不幸的是,它不會像「Google Analytics(分析)集成...一樣容易」,它會涉及服務器端的客戶參與。它也不會對跟蹤未經客戶驗證的用戶有好處,因爲第三方可以簡單地訪問客戶的網站以獲取有效的會話ID,然後將一些虛假信息發送到您的分析服務器。但是,對於客戶網站驗證的客戶,這可能很有用。

祝你好運!

+1

還有[開放網站分析](http://www.openwebanalytics。com /),btw ... –