web-dev-qa-db-fra.com

Pourquoi Google +1 enregistre-t-il les mouvements de ma souris?

Cela concerne uniquement les pages avec une zone Google +1 sur mon site Web:

enter image description here

Il semble déclencher un événement à chaque mouvement de souris. Quelqu'un sait ce qu'il fait? J'ai cherché sur Google (peut-être que je devrais essayer Bing pour une fois sur celui-ci!) Mais personne ne semble avoir écrit à ce sujet. Enregistre-t-il des informations sur les habitudes de navigation de mes visiteurs? Est-ce une sorte de CAPTCHA pour détecter un être humain comme le fait-il?

Exemple d'URL, appuyez sur F12 en chrome, accédez à la chronologie et appuyez sur enregistrement, puis déplacez votre souris sur cette page (cette question plus, ne vous inquiétez pas):

https://plusone.google.com/u/0/_++/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%%%%%%%%%%%%%%%%%%%%%%WBFWID%C3%A9T0 2F22224365-adc8a19e # url = https: //stackoverflow.com/questions/6667544/google-1-recording-mouse-move&size=tall&count=true&id=I1_1310488711647

Pour ce que ça vaut (je vois bien que ça va être une question populaire), je ne pense pas qu'il y ait quelque chose de sinistre derrière ça, ça pourrait même être un artefact/bogue inutile, mais s'il fait un suivi, eh bien, cela me semble un peu trompeur.

Règles de confidentialité de Google +1

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

Google +1 Button Politique de confidentialité

28 juin 2011

La politique de confidentialité de Google décrit la manière dont nous traitons les informations personnelles lorsque vous utilisez les produits et services de Google, y compris les informations fournies lorsque vous utilisez le bouton Google +1. En outre, ce qui suit décrit nos pratiques de confidentialité supplémentaires spécifiques à votre utilisation du bouton +1.

Les informations que nous recueillons et comment elles sont partagées

Le bouton Google +1 vous permet de partager des informations publiquement avec le monde entier. Le bouton Google +1 vous aide, ainsi que les autres utilisateurs, à recevoir un contenu personnalisé de Google et de nos partenaires. Le fait que vous ayez créé +1, quelque chose qui va être enregistré par Google, ainsi que des informations sur la page que vous étiez en train de consulter lorsque vous avez cliqué sur le bouton +1. Votre +1 peut apparaître aux autres comme une annotation avec le nom de votre profil et votre photo dans les services Google (tels que les résultats de recherche ou votre profil Google) ou ailleurs sur les sites Web et les publicités sur Internet.

Nous enregistrerons des informations sur votre activité +1 afin de vous offrir, à vous et aux autres utilisateurs, une meilleure expérience des services Google.

Pour utiliser le bouton Google +1, vous devez disposer d'un profil Google public visible par le monde entier, comprenant au minimum le nom que vous avez choisi pour le profil. Ce nom sera utilisé dans tous les services Google. Dans certains cas, il pourra remplacer un autre nom que vous avez utilisé lors du partage de contenu sous votre compte Google. Nous pouvons afficher l'identité de votre profil Google aux personnes qui possèdent votre adresse e-mail ou d'autres informations d'identification.

Utilisation des informations collectées

Outre les utilisations décrites ci-dessus, les informations que vous nous fournissez sont utilisées conformément à notre principale politique de confidentialité de Google.

Nous pouvons partager des statistiques globales relatives à l'activité +1 des utilisateurs avec le public, nos utilisateurs et nos partenaires, tels que les éditeurs, les annonceurs ou les sites connectés. Par exemple, nous pouvons dire à un éditeur que "10% des personnes qui ont écrit cette page se trouvent à Tacoma, dans l’État de Washington".

Vos choix

Vous pouvez voir la liste des objets que vous avez + 1 dans l'onglet +1 de votre profil. Vous pouvez supprimer des éléments individuels de cette liste.

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

Nous allons stocker les données (telles que vos +1 récents) localement dans votre navigateur. Vous pourrez peut-être accéder à ces informations et les effacer dans les paramètres de votre navigateur.

Plus d'information

Google adhère aux principes de confidentialité de Safe Harbor aux États-Unis. Pour plus d’informations sur le cadre Safe Harbor ou sur notre enregistrement, consultez le site Web du Département du commerce.

197
Tom Gullen

Il semble créer un générateur de nombres aléatoires avec les mouvements de votre souris.

Le gestionnaire de déplacement de souris effectue lui-même les opérations 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 par 1.

Tout cela est encapsulé dans le cadre d'une fonction anonyme, elle-même immédiatement évaluée pour renvoyer une fonction affectée à une propriété appelée "random". Cette fonction retournée ressemble à 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 par le hachage MD5 des cookies de la page, son emplacement, la new Date().getTime() et Math.random().

(Notez bien entendu que Google peut modifier le script renvoyé à tout moment et donc invalider cette analyse)

123
Anomie

Le code en cours d’exécution est dérivé du code Shindig trouvé ici:

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

Un nombre aléatoire sécurisé est nécessaire pour garantir que le canal sécurisé postMessage créé ici ne peut pas être compromis par des scripts sur la page afin d'exécuter des actions arbitraires.

Voici un article qui explique pourquoi utiliser Math.random () est mauvais:

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

48
Paul Lindner

Si vous pouvez d'abord charger votre script, vous pouvez accrocher addEventListener et enregistrer toutes les personnes qui définissent addEventListener pour voir qui le fait, puis, en consultant le code approprié, voir ce qu'elles font.

Mettez ceci en place avant le chargement du code 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));
}

Pour voir ce qui était à l’écoute de window.onmousemove, il faudrait le faire plus tard, car c’est juste une affectation de variable, pas une fonction que vous pouvez intercepter. Ainsi, parfois, après l'exécution du code d'initialisation de la page, vous feriez ceci pour vous connecter ce qui y était connecté:

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

Dans le code non encombré à compter du 22 juillet, vous remarquerez que onmousemove fait partie de la classe 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))
    }
}();

Il multiplie la somme de x et y par 2 ^ 16 en utilisant bitshift, puis ajoute d'autres dimensions et multiplie le tout par le temps, en millisecondes, mod 1000000. Cela ressemble vraiment à un algorithme de randomisation.

Je ne suis pas sûr de savoir pourquoi la page aurait besoin de quelque chose comme ça, peut-être utilise-t-elle un cookie, empêchant le clic +1 automatisé? Lorsque vous cliquez sur le bouton "+1", l'écran de connexion qui apparaît semble se voir attribuer un nombre aléatoire sous forme de hachage, l'URL se termine par "& hl = en-US # RANDOMNUMBER".

17
NoBugs

Je vous parie que sa version bêta "In-Page Analytics". Faire un curseur et cliquez sur la carte thermique.

4
Fresheyeball

Je pense que le document de Guo et Agichtein de CHI 2010 http://www.mathcs.emory.edu/~qguo3/wip287-guo11.pdf peut fournir d'autres idées sur les raisons pour lesquelles Google le fait.

Apparemment, les mouvements de la souris sont un indicateur approximatif des mouvements des yeux et permettent aux gens d’approcher les résultats du suivi des yeux.

2
Panos Ipeirotis

Il est impossible de dire avec certitude ce que Google fait avec ces données de déplacement de souris. Comme vous pouvez le constater vous-même, le système ne renvoie pas des charges et des charges d'informations au serveur. Vous n'avez donc pas à vous inquiéter.

Le premier est probablement un gestionnaire d'événements générique. La raison pour laquelle je pense que c’est que si vous lisez le source, vous pouvez voir que sur la ligne avant qu’il n’existe une erreur throw ("argument d’écoute non valide"); et ensuite ou un après l'autre il y a une erreur jetée ("Type d'événement invalide"). Étant donné que la ligne de tir se situe entre ces deux exceptions (liées à un événement), je suis presque certaine qu'il s'agit d'une sorte de gestionnaire d'événement. En utilisant le débogueur, il ne fait rien (il ne saute pas vers une autre fonction), donc il semble que ce soit là pour une implémentation future.

La seconde fonction est identique à la première. Comme il s'agit de gTalk, je suppose qu'il met à jour votre statut (absent, en ligne, etc.).

Le troisième semble être un programme de mise à jour du contenu ou quelque chose de similaire, car vous pouvez voir des chaînes telles que cacheTimeout, etc. éparpillées autour de celle-ci.

Mes 2 centimes.

1
zatatatata

c'est vraiment au-delà de loin, mais ici ça va quand même ...

il s’agit du type de trajectoire et de courbure d’un déplacement de souris à partir d’un point de départ vers différents attracteurs, c’est-à-dire 2 éléments/liens sur une page.

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

en bref, si vous mettez deux concurrents liens/boutons et analysez la trajectoire vers l’un de ces liens, vous pouvez en déduire un motif ou comment vous avez pris la décision de ne cliquer que sur 1 de ces liens (voir vid vers 13h00)

1
utonian automatic

Ils l'utilisent probablement pour mesurer la rapidité avec laquelle les utilisateurs se déplacent d'un élément de l'interface utilisateur à un autre, la fréquence à laquelle les clics sont manquants, etc.

J'ai normalement une vision profondément cynique des fonctions invasives, mais je ne pense pas que cela représente un risque pour la vie privée. C'est choquant parce que c'est tellement rare, mais ce n'est pas très révélateur. Le mouvement de votre souris code-t-il les coordonnées bancaires? Porno?

Google et autres ont beaucoup de données de haute qualité pour vous suivre. Les coordonnées de la souris ont une application très limitée.

Pour sortir du sujet un peu:

Dans une certaine mesure, plus vous collectez de données sur les personnes, plus vous avez de problèmes. J'entends (de Schneier et autres) que les services de renseignements souffrent du nombre énorme de faux positifs provoqués par l’acquisition de données de plus en plus rapide - le rapport signal sur bruit est catastrophique. Je trouve cela un peu amusant.

1
spraff