2010-04-22 156 views
2

我正在爲我的學校作業製作Google Analytics項目。我主要有兩個問題:Google Analytics如何將數據保存到數據庫

1)Google究竟何時將數據存儲到數據庫?當它使用XHR與一些服務器端腳本語言存儲到數據庫或有沒有辦法使用普通的JavaScript?

2)如何從Javascript獲取用戶的IP地址? Google如何爲Google Analytics服務?

感謝您的幫助。

Pranz

+2

我猜誰知道這個答案在法律上是不允許分享的。 – inkedmn 2010-04-22 20:52:52

+0

那麼,Google Analytics JS就在這裏,如果你喜歡它,那就深入研究:http://www.google-analytics.com/urchin.js當然,這並不能解答服務器端的問題。 – icktoofay 2010-04-22 20:57:08

+0

沒有什麼可以阻止你自己閱讀JS並解決它。對於發送給用戶執行的任何腳本,沒有任何私有的東西(雖然自動格式化程序確實可以讓您跟蹤和調試它,但通常不值得對混淆代碼進行反向工程。 – 2010-04-22 20:58:28

回答

2

1)是的。用戶端的JavaScript向服務器發送請求,服務器使用自己的應用程序(您可以使用PHP或您的服務器設置的任何語言進行調用)處理該請求。

2)您可能會發現使用$ _SERVER ['REMOTE_ADDR']獲取IP地址最簡單。

0

(1)Google Analytics(分析)是通過包含所謂的「頁面標籤」來實現的。這被稱爲Google Analytics(分析)跟蹤代碼(GATC),是用戶添加到他或她網站的每個頁面上的一段隱藏的JavaScript代碼片段。此代碼充當信標,收集私人訪客數據並將其發送回Google數據收集服務器進行處理。數據處理每小時進行一次,儘管實時拖欠可能需要3-4小時。不知道他們在服務器端使用什麼可能是Java

(2)您需要服務器端包含才能使其工作 - 如下所示。 /

/ This part gets the IP 
var ip = '<!--#echo var="REMOTE_ADDR"-->'; 

// This part is for an alert box 
alert("Your IP address is "+ip); 

// This part is for the status bar 
window.defaultStatus = "Your IP address is "+ip; 
4

的谷歌分析JS代碼不直接跟我們的服務器 - 將其添加到頁面的圖像,並追加所有的信息發回作爲URL參數圖片 - 簽出頁面Google Analytics(分析)在運行Firebug Net面板的情況下運行,您將看到發生了什麼。因此,JS代碼不需要計算出IP,這將作爲圖像請求的一部分傳遞給GA記錄服務器。

關於發生什麼的最好官方描述是在Google BigTable論文中 - 有幾段提供了關於幕後發生的一些提示。

在結構化數據庫上記錄&活動報告時,也可能值得關注this Stack Overflow question

問候

+0

哦......這樣他們如何避免跨站點腳本問題? – Pranz 2010-04-23 20:36:52

+1

是的,一切都發生在託管頁面的上下文中,所以所有的cookie都是第一方,並且沒有跨站腳本。 – Jamie 2010-04-25 22:34:55