Google +1 मेरे माउस आंदोलनों को रिकॉर्ड क्यों करता है? [बन्द है]


196

यह केवल मेरी वेबसाइट पर Google +1 बॉक्स वाले पृष्ठों पर है:

यहां छवि विवरण दर्ज करें

यह हर माउस चाल पर एक घटना को बंद कर रहा है। किसी को पता है कि यह क्या कर रहा है? मैंने Google पर खोज की (शायद मुझे इस पर एक बार बिंग की कोशिश करनी चाहिए!) लेकिन किसी ने भी इसके बारे में नहीं लिखा है। क्या यह मेरे आगंतुकों की ब्राउजिंग आदतों के बारे में जानकारी दर्ज कर रहा है? क्या यह मानव जाति का पता लगाने के लिए कैप्चा का कुछ प्रकार है?

उदाहरण URL, क्रोम में F12 दबाएं, टाइमलाइन पर जाएं और रिकॉर्ड दबाएं, फिर अपने माउस को इस पेज के चारों ओर घुमाएं (यह इस सवाल से अधिक है, चिंता न करें):

https://plusone.google.com/u/0/_/+1/button?hl=en-US&jsh=r%3Bgc%2F22224365-adc8a19e#url=/programming/6667544/google -1 रिकॉर्डिंग-माउस चाल और आकार = लंबा और गिनती = सच और आईडी = I1_1310488711647 और माता पिता = https: //plusone.google.com/u/0/_/+1/button hl = hi-अमेरिका और JSH = r% 3Bgc% 2F22224365-adc8a19e # url = http: //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 बटन गोपनीयता नीति

28 जून, 2011

Google गोपनीयता नीति बताती है कि जब आप Google के उत्पादों और सेवाओं का उपयोग करते हैं, तो आप Google +1 बटन का उपयोग करते समय प्रदान की गई जानकारी सहित व्यक्तिगत जानकारी का उपयोग कैसे करते हैं। इसके अलावा, निम्नलिखित +1 बटन के आपके उपयोग के लिए विशिष्ट हमारी अतिरिक्त गोपनीयता प्रथाओं का वर्णन करता है।

जानकारी हम एकत्र करते हैं और इसे कैसे साझा किया जाता है

Google +1 बटन आपके लिए दुनिया के साथ सार्वजनिक रूप से जानकारी साझा करने का एक तरीका है। Google +1 बटन आपको और दूसरों को Google और हमारे सहयोगियों से व्यक्तिगत सामग्री प्राप्त करने में मदद करता है। जब आप +1 बटन पर क्लिक करते हैं तो आप जिस पेज को देख रहे थे, उसके बारे में जानकारी के साथ-साथ आपको Google द्वारा कुछ चीज़ों को रिकॉर्ड किया जाएगा। Google सेवाओं में आपके प्रोफ़ाइल नाम और फ़ोटो के साथ एनोटेशन के रूप में आपका + 1 दूसरों को दिखाई दे सकता है (जैसे कि खोज परिणामों में या अपने Google प्रोफ़ाइल पर) या कहीं और इंटरनेट पर वेबसाइटों और विज्ञापनों पर।

हम आपको और अन्य उपयोगकर्ताओं को Google सेवाओं पर बेहतर अनुभव प्रदान करने के लिए आपकी +1 गतिविधि के बारे में जानकारी रिकॉर्ड करेंगे।

Google +1 बटन का उपयोग करने के लिए, आपको दुनिया में एक सार्वजनिक Google प्रोफ़ाइल दिखाई देनी चाहिए, जिसमें कम से कम प्रोफ़ाइल के लिए आपके द्वारा चुना गया नाम शामिल हो। उस नाम का उपयोग Google सेवाओं में किया जाएगा और कुछ मामलों में यह आपके Google खाते के तहत सामग्री साझा करते समय आपके द्वारा उपयोग किए गए किसी अन्य नाम को प्रतिस्थापित कर सकता है। हम आपकी Google प्रोफ़ाइल पहचान उन लोगों को प्रदर्शित कर सकते हैं जिनके पास आपका ईमेल पता या अन्य पहचान जानकारी है।

एकत्रित जानकारी का उपयोग

उपरोक्त वर्णित उपयोगों के अलावा, आपके द्वारा हमें प्रदान की जाने वाली जानकारी का उपयोग हमारी मुख्य Google गोपनीयता नीति के अधीन किया जाता है।

हम सार्वजनिक, हमारे उपयोगकर्ताओं और साझेदारों, जैसे प्रकाशकों, विज्ञापनदाताओं, या कनेक्टेड साइटों के साथ उपयोगकर्ताओं की +1 गतिविधि से संबंधित समग्र आँकड़े साझा कर सकते हैं। उदाहरण के लिए, हम एक प्रकाशक को बता सकते हैं कि "इस पृष्ठ के 10% लोग, जो ताकोमा, वाशिंगटन में हैं।"

तुम्हारी पसंद

आपके पास अपनी प्रोफ़ाइल पर +1 टैब पर +1 की गई वस्तुओं की सूची देखी जा सकती है। आप उस सूची से अलग-अलग आइटम निकाल सकते हैं।

आप जिन लोगों को जानते हैं, वे तृतीय-पक्ष वेबसाइटों (तृतीय-पक्ष साइटों पर विज्ञापनों सहित) पर +1 अनुशंसाएं देखने का विकल्प चुन सकते हैं।

हम आपके ब्राउज़र में स्थानीय स्तर पर डेटा (जैसे आपके हाल के + 1) को संग्रहीत करेंगे। आप अपनी ब्राउज़र सेटिंग में इस जानकारी को एक्सेस और साफ़ कर सकते हैं।

अधिक जानकारी

Google यूएस सुरक्षित हार्बर गोपनीयता सिद्धांतों का पालन करता है। सुरक्षित हार्बर ढांचे या हमारे पंजीकरण के बारे में अधिक जानकारी के लिए, वाणिज्य विभाग की वेबसाइट देखें।


3
Human like behavior? यह दिलचस्प विचार है। मैंने एक बार एक समान माउस ट्रैकिंग कोड देखा, जो वैश्विक चर में X / Y निर्देशांक रिकॉर्ड कर रहा था। वे बाद में jQuery प्लगइन पर कस्टम स्क्रॉलिंग शुरू / बंद / रद्द करने के लिए उपयोग किए गए थे। इस वैश्विक ट्रैकिंग चीज़ (जिसे मैंने अंततः बदल दिया) से बेहतर कार्यान्वयन था।
मृकफ जूल 12'11

7
@ शरारत, कुछ पोकर क्लाइंट स्वचालित खिलाड़ियों का पता लगाने के लिए माउस मूवमेंट का उपयोग करते हैं, मैं सोच रहा था कि शायद Google इसे प्रोफाइल बनाने और बॉट्स के खिलाफ एक प्रभावी बचाव के रूप में विचार कर सकता है और बहुत सी साइटें बना रहा है, लेकिन इसे अपनी साइटों के लिए वज़न दे रहा है जिससे उन्हें एक अनुचित प्रतिस्पर्धा में बढ़त मिल रही है। हालांकि कौन जानता है।
टॉम गुलेन

1
आश्चर्य है कि फेसबुक ऐसा कुछ क्यों नहीं कर रहा है ... (या करता है?)
Mrchief

7
यह कुछ प्रकार के UI परीक्षण के लिए हो सकता है। मुझे पता है कि Google को बहुत सी / बी टेस्टिंग करना पसंद है, इसलिए थोड़ी देर पहले उनके 41 शेड्स ब्लू टेस्ट में आते हैं। शायद वे यह ट्रैक करने की कोशिश कर रहे हैं कि बेहतर UI प्रदान करने के लिए उपयोगकर्ता पृष्ठ के माध्यम से कैसे आगे बढ़ता है।
ग्रेग गिडा

वह कौन सा उपकरण है जिसका आप उपयोग कर रहे हैं?
सिड

जवाबों:


123

यह आपके माउस मूवमेंट के साथ एक रैंडम नंबर जनरेटर को सीडिंग करता प्रतीत होता है।

माउस मूव हैंडलर स्वयं निम्नलिखित की तर्ज पर कुछ करता है:

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 के रूप में शुरू होता है।

यह सभी एक अनाम फ़ंक्शन के दायरे में लिपटे हुए हैं, जो कि "यादृच्छिक" नामक एक संपत्ति को सौंपा गया फ़ंक्शन वापस करने के लिए तुरंत मूल्यांकन किया जाता है। लौटा हुआ कार्य कुछ इस तरह दिखता है:

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

hash, BTW, एक चर है जो पृष्ठ के कुकीज़, स्थान, और new Date().getTime(), के MD5 हैश के रूप में शुरू होता है Math.random()

(ध्यान दें, निश्चित रूप से कि Google किसी भी समय लौटी स्क्रिप्ट को बदल सकता है और इसलिए इस विश्लेषण को अमान्य कर सकता है)


4
महान जवाब धन्यवाद, किसी भी विचार क्यों यह एक यादृच्छिक संख्या की आवश्यकता होगी? मैं समझता हूं कि माउस
मूव्स

27
Math.random()वर्तमान टाइमस्टैम्प से वरीयता प्राप्त नहीं है ? यदि हां, तो इस तरह व्यापक रूप से तैनात बटन के साथ, आप बहुत सारे टकराव की उम्मीद करेंगे। अतिरिक्त प्रयासों की व्याख्या कर सकते हैं।
येलहुल

7
@yahelc: यह मदद कर सकता है । संक्षेप में, 2008 में अधिकांश ब्राउज़रों ने एक बार में केवल एक बार प्रक्रिया शुरू की या पहली बार Math.random () (प्रक्रिया में या विंडो / टैब में) कहा जाता है। हालात तब से बदल गए होंगे, बेशक।
एनोमी जूल

3
हालांकि यह अजीब लगता है - अगर यह उद्देश्य था, तो वे सिर्फ window.crypto.getRandomValues ​​का उपयोग नहीं करेंगे: (फ़ंक्शन () {var buf = new Uint8Array (1); window.crypto.getRandomValues ​​(buf); अलर्ट (buf) 0])}) ()
रिच ब्रैडशॉ

3
यह मानकर कि बेहतर रैंडम जनरेटर बीज देना है, Google द्वारा प्रदान किया गया बीज पर्याप्त होगा, नहीं? या कम से कम सिर्फ एक या दो माउस चलता है। वर्तमान तरीका वास्तव में थोड़ा संदिग्ध लग रहा है। यह अच्छा होगा कि Google यहां कुछ पारदर्शिता दिखाए जहां अन्य इसे देने में विफल रहे हैं।
वर्नट

47

निष्पादित किया जाने वाला वास्तविक कोड यहां पाए जाने वाले शिंदिग कोड से लिया गया है:

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

यह सुनिश्चित करने के लिए एक सुरक्षित रैंडम नंबर की आवश्यकता है कि यहां बनाए गए सुरक्षित पोस्टमेज चैनल को मध्यस्थ कार्यों को निष्पादित करने के लिए पृष्ठ पर स्क्रिप्ट द्वारा समझौता नहीं किया जा सकता है।

यहाँ एक लेख है जो बताता है कि क्यों Math.random () का उपयोग करना बुरा है:

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


32

यदि आप अपनी स्क्रिप्ट को पहले लोड कर सकते हैं, तो आप 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));
}

2
अच्छा विचार है, लेकिन यह काम करेगा यदि स्क्रिप्ट पुराने-शैली को सेट करती है window.onmousemove(जैसा कि Google की स्क्रिप्ट करती है)।
एनोमी जूल

अगर ऐसा था, तो इसे उसी तरह से हुक किया जा सकता है।
१२:०१ पर १२

@ बैन अल्परट - मैंने ऊपर दिए अपने जवाब में window.onmousemove के लिए कुछ कोड जोड़े।
3

फ़ंक्शन कोड स्वयं मनमाने ढंग से लंबा हो सकता है। हम कंसोल में कई केबी डंप नहीं करना चाहते हैं इसलिए मैंने बस कुछ छोटी सीमा को चुना जो लॉग विंडो को अभिभूत नहीं करेगा। यदि वह पर्याप्त कोड नहीं है जो यह पहचानने में सक्षम हो कि वह कहाँ है, तो संख्या बढ़ाई जा सकती है, लेकिन यह लॉग विंडो में चीजों को देखने के लिए व्यावहारिक नहीं हो सकता है यदि लंबाई में कोई ऊपरी सीमा नहीं थी।
jfriend00

17

में सुव्यवस्थित कोड जुला 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 में समय के साथ यह सब गुणा कर रहा है। यह निश्चित रूप से एक यादृच्छिक एल्गोरिदम जैसा दिखता है।

मुझे यकीन नहीं है कि पेज को कुछ इस तरह की आवश्यकता होगी, शायद यह एक कुकी का उपयोग कर रहा है, स्वचालित +1 क्लिक को रोक रहा है? जब आप "+1" पर क्लिक करते हैं, तो जो लॉगिन स्क्रीन पॉप अप करता है, वह एक यादृच्छिक संख्या हैश के रूप में जोड़ा जाता है, url "& hl = en-US # RANDOMNUMBER" के साथ समाप्त होता है


4

मैं आपको इसके "इन-पेज एनालिटिक्स" बीटा से शर्त लगाता हूं। कर्सर बनाना और हीट-मैप पर क्लिक करना।


कुछ अच्छी परियोजनाएं भी हैं जो बिल्कुल इस नोड के समान ही करती हैं। जेएस ऐप , उदाहरण के लिए
पियर पाओलो रेमन

+1 (sic)। यह जानना अच्छा है कि लोग यह जानने के लिए क्लिक करते हैं कि क्या उपयोगी है और विज्ञापनों के लिए कौन सी जगह सबसे अच्छी है।
आरडीएस

अच्छा विचार है, लेकिन इस विषय से कोई लेना देना नहीं है;)
नौगटूर

2

मुझे लगता है कि सीएचआई 2010 http://www.mathcs.emory.edu/~qguo3/wip287-guo11.pdf से Guo और Agichtein द्वारा पेपर Google को ऐसा करने के बारे में अधिक विचार प्रदान कर सकता है।

जाहिरा तौर पर माउस आंदोलनों आँख आंदोलन के लिए एक मोटा प्रॉक्सी है और लोगों को आंखों के ट्रैकिंग परिणामों को अनुमानित करने की अनुमति देता है।


1

वे शायद इसका उपयोग यह मापने के लिए करते हैं कि उपयोगकर्ता कितनी तेज़ी से एक यूआई आइटम से दूसरे पर जाते हैं, कितनी बार क्लिक मिस करते हैं आदि।

मैं आमतौर पर आक्रामक सुविधाओं के बारे में एक गहरी निंदक है, लेकिन मुझे नहीं लगता कि यह एक गोपनीयता जोखिम है। यह बहुत चौंकाने वाला है क्योंकि यह असामान्य रूप से ठीक है, लेकिन यह बहुत खुलासा नहीं है । क्या आपका माउस आंदोलन बैंक विवरण को एन्कोड करता है? पॉर्न?

Google और जैसे आपके पास ट्रैक करने के लिए उच्च-गुणवत्ता वाले डेटा के बहुत सारे हैं। माउस निर्देशांक में बहुत सीमित अनुप्रयोग है।

थोडा-सा विषय पर जाने के लिए:

एक हद तक, जितना अधिक डेटा आप लोगों के बारे में एकत्रित करते हैं उतनी अधिक समस्याएं आपके पास होती हैं। मैं सुनता हूं (श्नीयर और इस तरह से) कि खुफिया एजेंसियां ​​भारी संख्या में झूठे सकारात्मक से पीड़ित हैं, जो उनके कभी-त्वरित डेटा अधिग्रहण के कारण उत्पन्न होते हैं - सिग्नल-टू-शोर अनुपात abysmal है। मुझे यह कुछ मनोरंजक लगता है।


Google +1 स्क्रिप्ट के साथ, मिनी गेम पर दिखाई दे रहा है, जो नियंत्रण के लिए माउस का उपयोग करता है ... वास्तव में बहुत शोर होगा। XD
पिकोक्रैचर

1

यह निश्चित रूप से बताना असंभव है, कि Google इस माउस मूवमेंट डेटा के साथ क्या करता है। जैसा कि आप खुद देख सकते हैं, यह सर्वर पर लोड और जानकारी के भार को वापस नहीं कर रहा है, इसलिए, चिंता करने की कोई बात नहीं है।

पहला शायद एक सामान्य घटना हैंडलर है। कारण क्यों मुझे लगता है कि अगर आप स्रोत को पढ़ते हैं, तो आप यह देख सकते हैं कि त्रुटि को फेंकने से पहले लाइन पर ("अमान्य श्रोता तर्क"); और अगले या अगले के बाद एक त्रुटि ("अमान्य घटना प्रकार") फेंक दें। चूंकि निकाल दी गई रेखा इन दोनों (घटना से संबंधित) अपवादों के बीच है, मुझे पूरा यकीन है कि यह किसी तरह का इवेंट हैंडलर है। डीबगर का उपयोग करना, यह वास्तव में कुछ भी नहीं करता है (किसी अन्य फ़ंक्शन पर नहीं कूदता है) इसलिए ऐसा लगता है कि यह भविष्य के कार्यान्वयन के लिए है।

दूसरा फ़ंक्शन पहले वाले के समान है। चूँकि यह gTalk का है, मुझे लगता है कि यह आपकी स्थिति (दूर, ऑनलाइन आदि) को अपडेट करता है।

तीसरा सामग्री अपडेटर या कुछ इसी तरह की प्रतीत होती है, क्योंकि आप इसके चारों ओर बिखरे हुए कैशटाइमआउट आदि को देख सकते हैं।

मेरे 2 सेंट।


1

यह वास्तव में दूर से परे है, लेकिन यहाँ यह वैसे भी जाता है ...

यह एक प्रारंभ बिंदु से विभिन्न बिंदुओं वाले अर्थात 2 आइटम / लिंक को एक पृष्ठ पर ले जाने के एक बिंदु से प्रक्षेपवक्र और वक्रता के प्रकार के चारों ओर घूमता है।

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

संक्षेप में, यदि आप दो प्रतिस्पर्धी लिंक / बटन लगाते हैं और उन लिंक में से किसी एक के लिए प्रक्षेपवक्र का विश्लेषण करते हैं, तो आप एक पैटर्न को काट सकते हैं या आप उन लिंक में से केवल 1 पर क्लिक करने के निर्णय पर कैसे पहुंच सकते हैं (देखें 13:00 के आसपास vid)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.