195

これは、私のWebサイトにGoogle+1ボックスがあるページにのみあります。

ここに画像の説明を入力してください

マウスを動かすたびにイベントが発生しているようです。誰もがそれが何をしているのか知っていますか?私はグーグルで検索しましたが(おそらくこれで一度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

価値があるものについては(これは人気のある質問になると思います)、背後に不吉なものはないと思います。役に立たないアーティファクト/バグである可能性もありますが、何らかの追跡を行っている場合は、まあ、それは私には少し欺くようです。

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によって記録されます。+1は、Googleサービス(検索結果やGoogleプロフィールなど)やインターネット上のウェブサイトや広告で、プロフィール名と写真の注釈として他の人に表示される場合があります。

あなたと他のユーザーにGoogleサービスのより良い体験を提供するために、あなたの+1アクティビティに関する情報を記録します。

Google +1ボタンを使用するには、公開されているGoogleプロフィールを世界中に公開する必要があります。このプロフィールには、少なくともプロフィールに選択した名前が含まれています。その名前はGoogleサービス全体で使用され、場合によっては、Googleアカウントでコンテンツを共有するときに使用した別の名前に置き換わることがあります。あなたのメールアドレスやその他の識別情報を持っている人にあなたのGoogleプロフィールIDを表示する場合があります。

収集した情報の利用

上記の用途に加えて、お客様から提供された情報は、当社の主要なGoogleプライバシーポリシーに従って使用されます。

ユーザーの+1アクティビティに関連する集計統計を、一般の人々、ユーザー、およびパブリッシャー、広告主、接続サイトなどのパートナーと共有する場合があります。たとえば、「このページを+1した人の10%はワシントン州タコマにいる」と出版社に伝えることができます。</ p>

あなたの選択

プロフィールの+1タブで+1したアイテムのリストを見ることができます。そのリストから個々のアイテムを削除できます。

知っている人からのサードパーティのWebサイト(サードパーティのサイトの広告を含む)での+1の推奨事項の表示をオプトアウトすることができます。

データ(最近の+1など)はブラウザにローカルに保存されます。ブラウザの設定でこの情報にアクセスしてクリアできる場合があります。

詳しくは

Googleは、米国のセーフハーバーのプライバシー原則を順守しています。セーフハーバーフレームワークまたは登録の詳細については、商務省のWebサイトを参照してください。

4

9 に答える 9

122

マウスの動きで乱数ジェネレーターをシードしているようです。

マウス移動ハンドラー自体は、次の行に沿って何かを行います。

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

hashnew Date().getTime()、ところで、は、ページの Cookie の MD5 ハッシュ、場所、およびとして始まる変数ですMath.random()

(もちろん、Google は返されるスクリプトをいつでも変更できるため、この分析を無効にする可能性があることに注意してください)

于 2011-07-18T17:01:17.610 に答える
47

実行されている実際のコードは、次の Shindig コードから派生したものです。

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

ここで作成された安全な postMessage チャネルがページ上のスクリプトによって危険にさらされて任意のアクションを実行できないようにするには、安全な乱数が必要です。

Math.random() の使用が悪い理由を説明する記事を次に示します。

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

于 2011-07-24T05:46:13.347 に答える
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));
}
于 2011-07-12T16:59:29.657 に答える
17

7 月 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 を掛けてから、他の次元を追加し、これらすべてに時間 (ミリ秒 mod 1000000) を掛けます。これは間違いなくランダム化アルゴリズムのように見えます。

ページにこのようなものが必要な理由がわかりません。おそらく、Cookie を使用して、自動 +1 クリックを妨げているのでしょうか? 「+1」をクリックすると、ポップアップするログイン画面にハッシュとして乱数が追加されているように見え、URL は「&hl=en-US#RANDOMNUMBER」で終わります。

于 2011-07-23T02:18:18.813 に答える
4

「ページ解析」ベータ版です。カーソルを作成し、ヒートマップをクリックします。

于 2011-07-21T06:38:19.163 に答える
2

CHI 2010 の Guo と Agichtein による論文http://www.mathcs.emory.edu/~qguo3/wip287-guo11.pdfは、なぜ Google がそうしているのかについてのさらなるアイデアを提供できると思います。

どうやらマウスの動きは目の動きの大まかな代理であり、人々はアイトラッキングの結果を近似することができます.

于 2011-07-24T03:04:46.460 に答える
1

これは本当に信じられないことではありませんが、とにかくここに行きます...

これは、マウスの軌道と曲率のタイプを中心に展開します。開始点から異なるアトラクタへの移動は、ページ上の 2 つのアイテム/リンクを取得します。

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

つまり、競合する2 つのリンク/ボタンを配置し、それらのリンクの 1 つに向かう軌跡を分析すると、それらのリンクの 1 つだけをクリックするという決定に至ったパターンまたは方法を推測できます (13:00 頃のビデオを参照)。

于 2011-07-24T22:35:37.160 に答える
1

おそらく、ユーザーがある UI アイテムから別の UI アイテムに移動する速さ、クリックミスの頻度などを測定するために使用されます。

私は通常、侵略的な機能について非常に冷笑的な見方をしていますが、これがプライバシーのリスクになるとは思いません。異常に細かいので衝撃的ですが、あまり目立ちません。マウスの動きは銀行の詳細をエンコードしていますか? ポルノ?

Google などには、あなたを追跡するための高品質のデータがたくさんあります。マウス座標の用途は非常に限られています。

少し話題から外れるには:

ある程度、人について収集するデータが多ければ多いほど、より多くの問題が発生します。(Schneier などから) 諜報機関は、ますます加速するデータ収集によって引き起こされる膨大な数の誤検出に苦しんでいると聞いています。信号対雑音比はひどいものです。これはちょっと面白いと思います。

于 2011-07-12T16:25:42.017 に答える
1

Google がこのマウスの動きのデータをどのように処理するかを特定することは不可能です。ご覧のとおり、大量の情報がサーバーに返されていないため、心配する必要はありません。

1 つ目は、おそらく一般的なイベント ハンドラーです。ソースを読むと、 throw Error("Invalid listener argument"); の前の行にあることがわかるからです。そして、次または次から次へとエラーがスローされます(「無効なイベントタイプ」)。発生した行はこれら 2 つの (イベント関連の) 例外の間にあるため、何らかのイベント ハンドラーであると確信しています。デバッガーを使用すると、実際には何もしない (他の関数にジャンプしない) ため、将来の実装のためにそこにあるようです。

2 番目の関数は最初の関数と同じです。それはgTalkなので、ステータス(不在、オンラインなど)を更新すると思います。

3 つ目は、cacheTimeout などの文字列が散らばっていることから、コンテンツ アップデーターなどのようです。

私の2セント。

于 2011-07-18T15:54:18.813 に答える