javascript - 为什么 Google +1 会记录我的鼠标移动?

标签 javascript privacy mousemove google-plus-one data-protection

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

enter image description here

似乎每次鼠标移动都会触发一个事件。有谁知道它在做什么?我在谷歌上搜索(也许我应该在这个上尝试一次 Bing!)但似乎没有人写过它。它是否记录了有关我的访问者浏览习惯的信息?是否是某种 CAPTCHA 来检测类似人类的行为?

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

https://plusone.google.com/u/0/_/+1/button?hl=en-US&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=en-US&jsh=r%3Bgc%2F22224365-adc8a19e#url=https://stackoverflow.com/questions/6667544/google-1-recording-mouse-move&size=tall&count=true&id=I1_1310488711647

对于它的值(value)(我可以看到这将成为一个受欢迎的问题),我不认为它背后有什么险恶的东西,它甚至可能是一个无用的工件/错误,但如果它正在做某种事情跟踪,嗯,这对我来说似乎有点欺骗性。

Google +1 隐私政策

http://www.google.com/intl/en/privacy/plusone/

Google +1 Button Privacy Policy

June 28, 2011

The Google Privacy Policy describes how we treat personal information when you use Google’s products and services, including information provided when you use the Google +1 button. In addition, the following describes our additional privacy practices specific to your use of the +1 button.

Information we collect and how it is shared

The Google +1 button is a way for you to share information publicly with the world. The Google +1 button helps you and others receive personalized content from Google and our partners. The fact that you +1’d something will be recorded by Google, along with information about the page you were viewing when you clicked on the +1 button. Your +1’s may appear to others as an annotation with your profile name and photo in Google services (such as in search results or on your Google Profile) or elsewhere on websites and ads on the Internet.

We will record information about your +1 activity in order to provide you and other users with a better experience on Google services.

In order to use the Google +1 button, you need to have a public Google Profile visible to the world, which at a minimum includes the name you chose for the profile. That name will be used across Google services and in some cases it may replace another name you’ve used when sharing content under your Google Account. We may display your Google Profile identity to people who have your email address or other identifying information.

Use of the collected information

In addition to the above-described uses, the information you provide to us is used subject to our main Google Privacy Policy.

We may share aggregate statistics related to users’ +1 activity with the public, our users, and partners, such as publishers, advertisers, or connected sites. For example, we may tell a publisher that “10% of the people who +1’d this page are in Tacoma, Washington.”

Your choices

You may view the list of items you have +1’d on the +1 tab on your Profile. You can remove individual items from that list.

You may opt out of seeing +1 recommendations on third-party websites (including on ads on third-party sites) from people you know.

We will store data (such as your recent +1’s) locally in your browser. You may be able to access and clear this information in your browser settings.

More information

Google adheres to the U.S. Safe Harbor privacy principles. For more information about the Safe Harbor framework or our registration, see the Department of Commerce’s website.

最佳答案

它似乎是用你的鼠标移动来播种一个随机数生成器。

鼠标移动处理程序本身执行以下操作:

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) * 1000000c是一个变量为 1。

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

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

hash,顺便说一句,是一个变量,它以页面 cookie、位置、new Date().getTime() 的 MD5 哈希开始,以及 Math.random().

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

关于javascript - 为什么 Google +1 会记录我的鼠标移动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6667544/

相关文章:

javascript - 在 Facebook 上分享链接时出现 404 页面未找到错误

c# - 是否可以在 .net 程序中使用 TOR 网络?

d3.js - 变换后的D3鼠标坐标

google-analytics - Google 广告规划师的受众特征信息从何而来?

java - 在 MouseEvent 上绘制可见的 JComponents

c# - 模拟鼠标移动(C#)

javascript - 在 TypeScript 中格式化日期时间

javascript - 限制来自 JSON 文件的下拉菜单

javascript - 如何有条件地在 AngularJS 模板中显示跨度?

iframe - 不同子域上的 session cookie 算作第 3 方吗?