196 votes

Pourquoi Google +1 enregistre-t-il mes mouvements de la souris ?

Ce n'est que sur les pages Google +1 sur mon site web:

enter image description here

Il semble être de tirer un événement sur chaque déplacement de la souris. Quelqu'un sait ce qu'il fait? J'ai cherché sur Google (peut-être que je devrais essayer de Bing pour une fois!) mais personne ne semble avoir écrit à ce sujet. Est-il d'enregistrement d'informations à propos de mes visiteurs sur les habitudes de navigation? Est-il une sorte de CAPTCHA pour détecter l'homme comme behviour?

Exemple d'URL, appuyez sur la touche F12 dans chrome, allez à la chronologie et appuyez sur enregistrer, puis déplacez votre souris autour de cette page (en plus de celles à cette question, ne vous inquiétez pas):

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

Pour ce que ça vaut (je peux voir que cela va être une question populaire), je ne pense pas qu'il y est quelque chose de sinistre derrière elle, il pourrait même être un inutile artefact/bug, mais si c'est en train de faire une sorte de suivi, eh bien, il semble un peu trompeur pour moi.

Google +1 politique de confidentialité

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

Bouton Google +1 Politique De Confidentialité

Le 28 juin 2011

La Politique de Confidentialité de Google décrit comment nous traitons vos informations personnelles lorsque vous utilisez les produits et services Google, y compris des informations fourni lorsque vous utilisez le bouton Google +1. En outre, les éléments suivants décrit nos pratiques en matière de confidentialité spécifiques à votre utilisation de l' Le bouton +1.

Les informations que nous recueillons et la façon dont il est partagé

Le bouton Google +1 est une façon pour vous de partager des informations au public, avec le monde. Le bouton Google +1, vous aide, vous et d'autres personnes à recevoir le contenu personnalisé de Google et de nos partenaires. Le fait que vous +1 à quelque chose sera enregistrée par Google, ainsi que les informations sur la page que vous étiez en train de consulter lorsque vous avez cliqué sur le bouton +1. Vos +1 peuvent apparaître à d'autres comme une annotation avec le nom de votre profil et la photo dans les services de Google (comme dans les résultats de recherche ou sur votre Profil Google) ou ailleurs sur des sites web et des publicités sur Internet.

Nous allons enregistrer des informations sur votre activité +1 afin de fournir vous et les autres utilisateurs une meilleure expérience sur les services Google.

Pour utiliser le bouton Google +1, vous avez besoin d'avoir un public de Google Profil visible pour le monde, qui, au minimum, le nom que vous choisi pour le profil. Ce nom sera utilisé dans les services Google et, dans certains cas, il peut remplacer un autre nom que vous avez utilisé lors du partage de contenu sous votre Compte Google. Nous pouvons afficher votre Profil Google d'identité pour les personnes qui ont votre adresse e-mail ou un autre identifiant de l'information.

Utilisation des informations collectées

En plus de la décrit ci-dessus utilise les renseignements que vous fournissez pour nous, sous réserve de notre Politique de Confidentialité de Google.

Nous pouvons partager des statistiques globales relatives aux utilisateurs' activité +1 avec le public, de nos utilisateurs et partenaires, tels que les éditeurs, les annonceurs, ou de sites qui lui sont liés. Par exemple, nous pouvons dire à un éditeur que "10% de les gens qui les +1 de cette page sont à Tacoma, Washington."

Votre choix

Vous pouvez afficher la liste des éléments que vous avez +1 +1 onglet sur votre De profil. Vous pouvez supprimer des éléments de cette liste.

Vous pouvez choisir de voir les +1 des recommandations sur les sites web de tiers (y compris sur des annonces sur des sites tiers) des personnes que vous connaissez.

Nous allons stocker les données (telles que votre récente +1) localement dans votre navigateur. Vous pouvez être en mesure d'accéder et d'effacer ces informations dans votre navigateur les paramètres.

Plus d'informations

Google respecte les US Safe Harbor privacy principles. Pour plus d' informations sur le Safe Harbor ou notre inscription, voir le Département du Commerce site web.

123voto

Anomie Points 43759

Il semble être l'ensemencement d'un générateur de nombre aléatoire avec vos mouvements de souris.

Le déplacement de la souris, gestionnaire lui-même fait quelque chose le long des lignes suivantes:

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

d est (screen.width * screen.width + screen.height) * 1000000, et c est une variable qui commence comme 1.

Tout cela est enveloppé dans le champ d'application d'une fonction anonyme, qui lui-même est immédiatement évaluée de retour d'une fonction qui est attribuée à une propriété nommée "aléatoire". Qui a renvoyé la fonction ressemble à quelque chose comme ceci:

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

hash, BTW, est une variable qui commence comme le hash MD5 de la page, les cookies, l'emplacement, l' new Date().getTime(), et Math.random().

(Remarque, bien sûr, que Google est susceptible de modifier le script retournés à tout moment et donc d'invalider cette analyse)

47voto

Paul Lindner Points 986

Le code qui est exécuté est dérivé de la Nouba code trouvé ici:

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

Une sécurité de nombre aléatoire est nécessaire pour s'assurer que le secure postMessage canal créé ici ne peut pas être compromise par des scripts sur la page d'exécuter les mesures arbitraires.

Voici un article qui explique pourquoi l'utilisation des Mathématiques.random() est mauvaise:

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

32voto

jfriend00 Points 152127

Si vous pouvez obtenir votre script chargé en premier, vous pourriez crochet addEventListener journaux et tout le monde qui est le paramètre de la méthode addEventListener et voir qui est le fait, et puis, en regardant le code, voir ce qu'ils font.

Mettre cela en place avant le Google code des charges:

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

Pour voir ce qui était à l'écoute de la fenêtre.onmousemove, vous auriez à le faire par la suite parce que c'est juste une affectation de variable, pas une fonction que vous pouvez intercepter. Donc, parfois après le code d'initialisation de l'exécution de la page, vous permettrait de faire de ce journal de ce qui s'était accroché à elle:

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

17voto

NoBugs Points 2258

Dans le épuré code de Juil 22, vous remarquerez que le onmousemove fait partie de la Gb.hasard de classe:

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

C'est en multipliant la somme de x et de y par 2^16 à l'aide de bitshift, puis en ajoutant quelques autres dimensions et en multipliant par le temps en millisecondes mod 1000000. Cela ressemble fort à une randomisation de l'algorithme.

Je ne suis pas sûr pourquoi, la page aurait besoin de quelque chose comme cela, c'est peut-être l'aide d'un cookie, la prévention automatisé +1 en cliquant sur? Lorsque vous cliquez sur le "+1" sur l'écran de connexion qui apparaît semble avoir un nombre aléatoire ajouté que le hachage, l'url se termine par "&hl=fr#RANDOMNUMBER"

4voto

Fresheyeball Points 11655

Je vous parie sa Beta « En Page Analytique ». Faire une carte thermique curseur et cliquez sur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X