programing

Google +1에서 마우스 움직임을 기록하는 이유는 무엇입니까?

iphone6s 2023. 10. 9. 22:23
반응형

Google +1에서 마우스 움직임을 기록하는 이유는 무엇입니까?

내 웹 사이트에 Google +1 상자가 있는 페이지에만 해당됩니다.

enter image description here

마우스를 움직일 때마다 이벤트가 발생하는 것 같습니다.이게 무슨 짓인지 아는 사람?구글에서 검색해봤는데 (아마 이번에 한번 빙을 써봐야겠다!) 아무도 안 써본 것 같아요.방문자의 검색 습관에 대한 정보를 기록하고 있습니까?인간과 같은 행동을 감지하기 위한 일종의 캡차인가요?

예제 URL, 크롬에서 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

그 가치가 무엇이든 간에 (이것이 인기 있는 질문이 될 것이라는 것을 알 수 있습니다), 저는 그 이면에 사악한 것이 있다고 생각하지 않습니다. 그것은 심지어 쓸모없는 인공물/벌레일지도 모르지만, 만약 그것이 추적을 하고 있다면, 저는 약간 기만적인 것처럼 보입니다.

Google +1 개인정보 취급방침

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

Google +1 버튼 개인정보 취급방침

2011년6월28일

Google 개인 정보 보호 정책은 Google +1 버튼을 사용할 때 제공되는 정보를 포함하여 Google의 제품 및 서비스를 사용할 때 개인 정보를 취급하는 방법을 설명합니다.또한 다음은 +1 버튼 사용에 따른 당사의 추가 개인 정보 취급 방식에 대해 설명합니다.

우리가 수집하는 정보와 그것이 어떻게 공유

Google +1 버튼을 사용하면 정보를 전 세계와 공개적으로 공유할 수 있습니다.Google +1 버튼을 사용하면 Google 및 파트너로부터 개인화된 컨텐츠를 받을 수 있습니다.+1 버튼을 클릭했을 때 보고 있던 페이지에 대한 정보와 함께 +1을 선택했다는 사실이 Google에 의해 기록됩니다.Google 서비스(검색 결과 또는 Google 프로필 등) 또는 웹 사이트 및 인터넷 광고의 다른 곳에서 사용자의 프로필 이름과 사진을 포함한 주석으로 +1이 표시될 수 있습니다.

귀하와 다른 사용자에게 Google 서비스에 대한 더 나은 경험을 제공하기 위해 +1 활동에 대한 정보를 기록합니다.

Google +1 버튼을 사용하려면, 사용자가 프로필에 선택한 이름을 포함하는 공개 Google 프로필을 전 세계에 볼 수 있어야 합니다.이 이름은 Google 서비스 전반에 걸쳐 사용되며 경우에 따라 Google 계정에서 컨텐츠를 공유할 때 사용한 다른 이름을 대체할 수도 있습니다.사용자의 전자 메일 주소 또는 기타 식별 정보를 가진 사용자에게 Google 프로필 ID를 표시할 수 있습니다.

수집된 정보의 이용

위에서 설명한 용도 외에도 귀하가 당사에 제공하는 정보는 당사의 주요 Google 개인 정보 보호 정책에 따라 사용됩니다.

사용자의 +1 활동과 관련된 집계 통계를 게시자, 광고주, 연결된 사이트 등 대중, 사용자 및 파트너와 공유할 수 있습니다.예를 들어, 게시자에게 "이 페이지를 작성한 사람의 10%가 워싱턴주 타코마에 있습니다."라고 말할 수 있습니다.

당신이 선택한 것

프로필의 +1 탭에서 +1'd를 가지고 있는 항목 목록을 볼 수 있습니다.해당 목록에서 개별 항목을 제거할 수 있습니다.

타사 웹 사이트(타사 사이트의 광고 포함)에서 +1 추천을 보는 것을 피할 수 있습니다.

데이터(예: 최근 +1)를 브라우저에 로컬로 저장합니다.브라우저 설정에서 이 정보를 액세스하고 지울 수 있습니다.

더 많은 정보

구글은 미국의 세이프 하버 개인 정보 보호 원칙을 고수하고 있습니다.세이프 하버 프레임워크 또는 당사 등록에 대한 자세한 내용은 상무부 웹사이트를 참조하십시오.

마우스 움직임에 따라 랜덤 숫자 생성기를 시드하는 것으로 보입니다.

마우스 이동 핸들러 자체가 다음과 같은 작업을 수행합니다.

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,그리고.c1는 1하는 변수입니다.

이 모든 것은 익명 함수의 범위로 포장되며, 이 함수 자체는 즉시 "random"이라는 속성에 할당된 함수를 반환하는 것으로 평가됩니다.반환된 함수는 다음과 같습니다.

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

hash, BTW는 페이지의 쿠키, 위치, 위치의 MD5 해시로 시작하는 변수입니다.new Date().getTime(),그리고.Math.random().

(Note, of course, that Google may change the script returned at any time and hence invalidate this analysis)

The actual code that is being executed is derived from the Shindig code found here:

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

A secure random number is needed to ensure that the secure postMessage channel created here cannot be compromised by scripts on the page to execute arbitrary actions.

Here's an article that explains why using Math.random() is bad:

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

If you can get your script loaded first, you could hook addEventListener and log everyone who is setting addEventListener and see who's doing it and then, by looking at the relevant code, see what they're doing.

Put this in place before the Google code loads:

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));
}

To see what was listening to window.onmousemove, you'd have to do it afterwards because it's just a variable assignment, not a function that you can intercept. So sometimes after the initialization code of the page runs, you would do this to log what was hooked up to it:

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

In the uncluttered code as of Jul 22, you'll notice the onmousemove is part of the Gb.random class:

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))
    }
}();

It's multiplying sum of x and y by 2^16 using bitshift, then adding some other dimensions and multiplying all this by time in milliseconds mod 1000000. This definitely looks like a randomizing algorithm.

I'm not sure why the page would need something like this, perhaps it's using a cookie, preventing automated +1 clicking? When you click the "+1" the login screen that pops up appears to have a random number appended as the hash, the url ends with "&hl=en-US#RANDOMNUMBER"

I bet you its "In-Page Analytics" Beta. Making a cursor and click heat-map.

I think that the paper by Guo and Agichtein from CHI 2010 http://www.mathcs.emory.edu/~qguo3/wip287-guo11.pdf can provide further ideas on why Google is doing that.

마우스 움직임은 눈 움직임의 대략적인 대용치이며 사람들이 눈 추적 결과를 대략적으로 알 수 있게 해줍니다.

사용자가 한 UI 항목에서 다른 UI 항목으로 얼마나 빨리 이동하는지, 클릭 누락 빈도 등을 측정하는 데 사용할 수 있습니다.

저는 보통 침입적인 특징에 대해 매우 냉소적인 시각을 가지고 있지만, 이것이 사생활의 위험이라고 생각하지는 않습니다.워낙 이례적으로 미세한 것이라 충격적이지만, 그다지 공개적이지는 않습니다.마우스 움직임이 뱅크 세부 정보를 인코딩합니까?포르노?

구글 등은 당신을 추적할 수 있는 양질의 데이터를 많이 보유하고 있습니다.마우스 좌표는 적용이 매우 제한적입니다.

주제를 조금 벗어나려면:

어느 정도는 사람들에 대한 데이터를 많이 수집할수록 문제가 더 많아집니다.(슈니어 등으로부터) 정보 기관들이 점점 가속화되는 데이터 수집으로 인해 유발되는 엄청난 수의 거짓 양성으로 인해 고통을 받고 있다고 들었습니다. 신호 대 잡음비는 최악입니다.저는 이것이 좀 재미있다고 생각합니다.

구글이 이 마우스 이동 데이터로 무엇을 하는지 확실히 말하는 것은 불가능합니다.여러분도 알다시피, 이것은 많은 양의 정보를 서버로 다시 돌려주는 것이 아니기 때문에 걱정할 필요가 없습니다.

첫 번째는 일반 이벤트 처리기일 것입니다.출처를 읽어보면 throw Error("Invalid listener argument")가 발생하기 전 줄에 표시되고, 다음 또는 다음 줄에 throw Error("Invalid event type")가 발생하는 것을 볼 수 있기 때문입니다.이 두 가지(이벤트 관련) 예외 사이에 발화선이 있기 때문에 일종의 이벤트 핸들러라고 확신합니다.디버거를 사용하면 실제로는 아무 것도 할 수 없기 때문에(다른 기능으로 이동하지 않음) 향후 구현을 위해 사용할 수 있는 것 같습니다.

두 번째 기능은 첫 번째 기능과 동일합니다.gTalk이기 때문에 당신의 상태(원정, 온라인 등)를 업데이트 하는 것 같습니다.

세 번째는 cacheTimeout 등의 문자열이 주변에 흩어져 있는 것을 볼 수 있기 때문에 컨텐츠 업데이터 등으로 보입니다.

나의 2센트.

이것은 정말로 멀리 갈 수 없는 것이지만, 어쨌든 여기서는...

시작점에서 다른 어트랙터로 이동하는 마우스의 궤적과 곡률의 종류를 중심으로 회전합니다. 즉, 페이지에서 2개의 아이템/links를 가져갑니다.

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

간단히 말해, 두 의 경쟁 링크/buttons를 놓고 해당 링크 중 하나를 향한 궤적을 분석하면 패턴이나 해당 링크 중 하나만 클릭하는 결정에 도달방법을 추론할 수 있습니다(13:00경 비디오 참조).

언급URL : https://stackoverflow.com/questions/6667544/why-does-google-1-record-my-mouse-movements

반응형