5

在生產環境中,基於Javascript的分析腳本(Google Analytics,Facebook Pixel等)以純JavaScript形式注入大多數Web應用程序以及唯一ID /像素ID。不是JavaScript分析腳本易受數據黑客攻擊嗎?

例如,airbnb使用Google Analytics。我可以打開我的開發者控制檯,並運行

setInterval(function() {ga('send', 'pageview');}, 1000);

這將導致被要求分析像素每隔1秒,直到永遠。我的機器一個小時就需要3600個小時。

現在,這可以輕鬆地以分佈式方式完成,每秒導致數百萬次請求,完全歪曲pageview事件的Google Analytics數據。據我所知,收集的大量數據可以糾正這種偏差,但這可以通過提高請求量來輕鬆彌補。

我的問題是這樣的:是否有防止競爭對手或惡意個人以這種方式破壞應用程序數據完整性的保護措施? GA或Facebook是否提供這些選項?

回答

1

是的,但不安全的部分不是用於Javascript。例如,您可以使用測量協議將數據氾濫到一個帳戶。在這裏你可以看到很多人在同一個社區有這個(和它很簡單的解決方案) https://stackoverflow.com/search?q=spam+google+analytics

所有這些測量系統使用HTTP調用來填充您的「數據庫」的數據。如果你能夠建立正確的呼叫,你可以垃圾每個人和每個地方(但不要這樣做,不要做壞事)。

https://developers.google.com/analytics/devguides/collection/protocol/v1/?hl=es-419

谷歌分析本頁面解釋什麼是協議的測量,使用Javascript只工作作爲框架來構建和發送匹配。

https://developers.google.com/analytics/devguides/collection/protocol/v1/?hl=es-419

不過,所以不會一切都失去了。 例如,如果您嘗試使用該代碼在瀏覽器上執行該操作,則Google Analytics框架限制爲每秒1個調用,每個會話150個(或Cookie值)。是的,跳過這個障礙並不複雜,但之後會出現其他障礙。

所以如果你使用Javascript框架是安全的。現在想象你對python也一樣,發送http到Google Analytics服務器。這是可能的,但是: 所以這裏有兩件重要的事情要說。

  • 谷歌Analytics(分析)有一個積極的「防火牆」,來檢測垃圾郵件發送者,並禁止他們。(如何時,他們這樣做是不公開的),但對我來說我是幾年前看到少了很多垃圾郵件發送者。

  • 此外還有一些避免這種情況的良好做法。例如,店內只有在白名單域名,創建一個過濾器,允許網域唯一的交通 https://support.google.com/analytics/answer/1033162?hl=en

  • 而且它是保護你的電子商務一個非常好的做法,使用過濾器包含來自某些商店或純數據具有某些參數,例如「品牌==我的品牌」或「CustomDimension == true」。排除超過1.000美元的產品交易(檢查您的限制並應用主動過濾器)。所有這些障礙使複雜破壞。

如果你這樣做,你會保護你的域了很多(因爲它太複雜,要知道有效的UA +域名的組合,當你創建一個機器人),但你知道,所有的系統可以破碎。根據我的經驗,我只看到2或3個來自垃圾郵件發送者或想要傷害的人的傷害情況,如果我創建了一個主動過濾器,在所有這些情況下都可以阻止。通常垃圾郵件發送者只會將廣告垃圾郵件發送到您的帳戶,幾乎從不想傷害您Facebook,Piwik和其他工具發生或多或少相同。

+0

謝謝@kemen,讓我呼吸更容易一些,但它仍然看起來像很多騎在這裏的善意:) – nikjohn

+0

哈哈是的,善意和過濾器:) –