为什么Google +1记录我的鼠标移动?[关闭]

2020/10/18 09:21 · javascript ·  · 0评论

这仅在我的网站上带有Google +1框的页面上:

在此处输入图片说明

似乎每次鼠标移动都会触发一个事件。有人知道它在做什么吗?我在Google上进行了搜索(也许我应该对此进行一次Bing!),但似乎没有人写过它。是否记录有关访客浏览习惯的信息?是否可以检测出像人类一样的行为的验证码?

示例URL,在chrome中按F12键,转到时间轴并按record,然后在此页面上移动鼠标(它加上这个问题,不用担心):

https://plusone.google.com/u/0/_/+1/button?hl=zh-CN&jsh=r%3Bgc%2F22224365-adc8a19e#url=https://stackoverflow.com/questions/6667544/google -1-recording-mouse-move&size = tall&count = true&id = I1_1310488711647&parent = https://plusone.google.com/u/0/_/+1/button?hl = zh-CN&jsh = r%3Bgc%2F22224365-adc8a19e# url = https://stackoverflow.com/questions/6667544/google-1-recording-mouse-move&size=tall&count=true&id=I1_1310488711647

对于它的价值(我可以看到这将是一个受欢迎的问题),我认为它背后没有任何险恶的东西,甚至可能是无用的工件/错误,但是如果它正在进行某种跟踪,好吧,这似乎对我有点欺骗。

Google +1隐私权政策

http://www.google.com/intl/zh-CN/privacy/plusone/

Google +1按钮隐私权政策

2011年6月28日

《 Google隐私权政策》描述了您使用Google产品和服务时我们如何处理个人信息,包括您使用Google +1按钮时提供的信息。此外,以下内容介绍了针对您对+1按钮的使用所特有的其他隐私保护惯例。

我们收集的信息以及共享方式

Google +1按钮是您与外界公开分享信息的一种方式。Google +1按钮可帮助您和其他人接收来自Google及其合作伙伴的个性化内容。Google会记录您对某件事+1的事实,以及单击+1按钮时所查看页面的信息。您的+1可能会在您在Google服务(例如在搜索结果中或您的Google个人资料中)或互联网上的网站和广告上的其他地方,作为带有您的个人资料名称和照片的注释显示为其他人。

我们将记录有关您+1活动的信息,以便为您和其他用户提供更好的Google服务体验。

为了使用Google +1按钮,您需要拥有一个公开的Google个人资料,该个人资料在全世界范围内可见,其中至少包括您为个人资料选择的名称。该名称将在所有Google服务中使用,在某些情况下,它可能会替换您在Google帐户下共享内容时使用的其他名称。我们可能会向拥有您的电子邮件地址或其他身份信息的人显示您的Google个人资料身份。

使用收集到的信息

除了上述用途外,您提供给我们的信息还应遵守我们的主要Google隐私权政策。

我们可能会与公众,我们的用户和合作伙伴(例如发布商,广告商或关联网站)共享与用户+1活动相关的汇总统计信息。例如,我们可能告诉发布者“对此页面+1的人中有10%在华盛顿州的塔科马。”

您的选择

您可以在个人资料的+1标签上查看已+1的项目列表。您可以从该列表中删除单个项目。

您可以选择不认识的人在第三方网站(包括第三方网站的广告)上看到+1建议。

我们将在您的浏览器中本地存储数据(例如您最近的+1)。您可能可以在浏览器设置中访问和清除此信息。

更多信息

Google遵守美国安全港隐私权原则。有关安全港框架或我们的注册的更多信息,请访问美国商务部网站。

似乎是随着鼠标的移动为随机数生成器植入了种子。

鼠标移动处理程序本身按照以下方式进行操作:

var b = ((event.X << 16) + event.Y) * (new Date().getTime() % 1000000);
c = c * b % d;
if (previousMouseMoveHandler) previousMouseMoveHandler.call(arguments);

d(screen.width * screen.width + screen.height) * 1000000,并且c是以1开头的变量。

所有这些都包装在匿名函数的范围内,该匿名函数本身会立即进行评估以返回分配给名为“ random”的属性的函数。返回的函数如下所示:

var b = c;
b += parseInt(hash.substr(0,20), 16);
hash = MD5(hash);
return b / (d + Math.pow(16, 20));

hash(即BTW)是一个变量,该变量开始于页面Cookie,位置new Date().getTime()的MD5哈希值Math.random()

(当然,请注意,Google可能会随时更改返回的脚本,从而使此分析无效)

正在执行的实际代码是从此处找到的Shindig代码派生的:

http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/shindig.random/random.js

需要一个安全的随机数以确保此处创建的安全postMessage通道不会被页面上的脚本破坏以执行任意操作。

这是一篇文章,解释为什么使用Math.random()很糟糕:

http://baagoe.com/cn/RandomMusings/javascript/

如果可以先加载脚本,则可以挂接addEventListener并记录设置addEventListener的每个人的日志,然后查看正在执行此操作的人员,然后通过查看相关代码来查看他们的操作。

在Google代码加载之前将其放置到位:

var oldListener = document.addEventListener;
document.addEventListener = function(type, listener, capture) {
    if (type == "mousedown" || type == "mouseup" || type == "mousemove") {
        console.log("type=" + type + " listener=" + listener.toString().slice(0, 80));
    }
    return (oldListener.apply(this, arguments));
}

要查看正在监听window.onmousemove的内容,您必须在事后进行操作,因为它只是一个变量分配,而不是您可以拦截的函数。因此,有时在页面的初始化代码运行之后,您将执行此操作以记录连接到该页面的内容:

if (window.onmousemove) {
    console.log(window.onmousemove.toString().slice(0,80));
}

截至7月22日整洁代码中,您会注意到onmousemove是Gb.random类的一部分:

Gb.random = function () {
    function a(a) {
        var b = Jb();
        b.update(a);
        return b.ib()
    }
    var b = la.random(),
        c = 1,
        d = (screen[za] * screen[za] + screen[J]) * 1E6,
        e = i.onmousemove || Db();
    i.onmousemove = function (a) {
        if (i.event) a = i.event;
        var b = a.screenX + a.clientX << 16;
        b += a.screenY + a.clientY;
        b *= (new Date)[Ta]() % 1E6;
        c = c * b % d;
        return e[G](i, ka[x][Aa][G](arguments))
    };
    var f = a(k.cookie + "|" + k[B] + "|" + (new Date)[Ta]() + "|" + b);
    return function () {
        var b = c;
        b += ia(f[cb](0, 20), 16);
        f = a(f);
        return b / (d + la.pow(16, 20))
    }
}();

它使用位移将x和y的总和乘以2 ^ 16,然后加上一些其他维度,然后将所有这些乘以时间(以毫秒为单位,单位为1000000)。

我不确定为什么该页面需要这样的内容,也许它使用的是Cookie,从而阻止了自动+1点击?当您单击“ +1”时,弹出的登录屏幕似乎带有一个随机数作为哈希值,网址以“&hl = en-US#RANDOMNUMBER”结尾

我敢打赌你的“页内分析”测试版。制作一个光标,然后单击热图。

我认为Guo和Agichtein在CHI 2010上发表的论文http://www.mathcs.emory.edu/~qguo3/wip287-guo11.pdf可以提供有关Google为什么这样做的更多想法。

显然,鼠标移动是眼睛移动的粗略代表,它使人们可以近似眼睛跟踪结果。

他们可能会用它来衡量用户从一个UI项移到另一个UI项的速度,单击未命中的频率等。

我通常对入侵性功能持怀疑态度,但我不认为这是隐私风险。令人震惊的是,它的粒度如此之细,但并不十分生动您的鼠标移动会编码银行详细信息吗?A片?

Google等拥有大量可跟踪您的高质量数据。鼠标坐标的应用非常有限。

有点题外话:

在某种程度上,您收集的有关人员的数据越多,您遇到的问题就越多。我从Schneier等人那里听说,情报机构正因其不断加速的数据采集而引发大量误报-信噪比极低。我觉得这有点有趣。

不可能确定Google如何处理此鼠标移动数据。如您所见,这并不是将负载和信息负载返回到服务器,因此,无需担心。

第一个可能是通用事件处理程序。我认为这是因为,如果您阅读源代码,则可以在抛出Error(“ Invalid listener arguments”);的那一行上看到它;下一个或下一个之后抛出Error(“ Invalid event type”)。由于触发行位于这两个(与事件相关的)异常之间,因此,我很确定这是某种事件处理程序。使用调试器,它实际上并没有执行任何操作(不会跳转到其他功能),因此似乎可以在将来实现。

第二个功能与第一个功能相同。由于它是gTalk,因此我想它会更新您的状态(离开,在线等)。

第三个似乎是内容更新程序或类似的东西,因为您可以看到像cacheTimeout之类的字符串散布在其周围。

我的2美分。

这确实是遥不可及的,但是无论如何它还是可以...

它围绕着从起始点到不同吸引子的鼠标移动的轨迹和曲率类型,即页面上的2个项目/链接。

http://sciencestage.com/v/26698/dynamics-and-embodiment-in-language-comprehension.html

简而言之,如果您放置两个相互竞争的链接/按钮并分析其中一个链接的轨迹,则可以推断出一种模式决定如何仅单击其中一个链接决定(请参阅13:00的vid)

本文地址:http://javascript.askforanswer.com/weishenmegoogle-1jiluwodeshubiaoyidongguanbi.html
文章标签: ,   ,   ,   ,  
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!