1

各クライアントの一意のフィンガープリントを生成するにはどうすればよいですか?

オブジェクトを使用する必要があることはわかっていますが、このメソッドでは使用できないnavigatorプロパティなどがあります。navigator.battery

// battery included and unique may change.
var uniqueHash = exampleHash(JSON.stringify(navigator));

JavaScript を使用し、Cookie を使用せずに、ユーザーごとに正しい一意の指紋を生成するにはどうすればよいですか。

クロス プラットフォームと古いブラウザーも含める必要があります。

でサポートされているクロス ブラウザのリストが必要ですnavigator.X

注: ランダムなハッシュを生成したくありません。各ユーザーのシステム ベース ハッシュを生成したいのですが、Cookie やストレージを節約したくありません。

4

3 に答える 3

2

各クライアントの一意のフィンガープリントを生成するにはどうすればよいですか?

短い答えは、あなたができないということです。すべてのクライアントに対してこれを行うことは不可能です。クライアントの侵襲的なプロファイリングを使用して近づくことはできますが、一意の識別子を取得できるのは約 90 ~ 95% のケースだけです。

Cookieやストレージを節約したくありません。

クライアント側にデータを保存したくない理由はありますか? 何を達成しようとしているのかを教えていただければ、問題を解決するためのより良い方法を提案できるかもしれません。

于 2013-05-06T19:08:17.687 に答える
1

検討する価値のある方法の 1 つは、Mozilla Persona APIを使用することです。navigator.id使用するプロパティを公開します。ユーザーから一意の ID を取得するのは簡単です...

navigator.id.get(function(unique_id) {
    alert("this is your unique id: " + unique_id);
})

これには、ユーザーの承認が必要になるという欠点があります

例: http://jsfiddle.net/aJsL9/1/

于 2013-05-06T17:09:54.630 に答える
1

Cookie を使用せずにセッションを維持する最も簡単な方法は、一意のハッシュ (UUID など) をページ内の URL に get パラメーターとして追加することです。

/my/fancy/url

になる

/my/fancy/url?HASHCODE

サーバーがリクエストを受信するたびに、存在する場合は HASHCODE をキャプチャし、存在しない場合は HASHCODE を生成し、提供されたページのすべてのリンクに追加します。

ユーザーは HASHCODE を操作できることに注意してください。アプリケーションを設計する際には、その点を考慮する必要があります。

とにかく、fancy-url の時代ではかなり醜いことに注意してください。また、ユーザー追跡はデリケートな問題であり、TOS で適切に宣言しないと法的な問題が発生する可能性があることに注意してください。

編集:バリアント (フラッシュ、セッション ストレージなど) とサイト間で共有されるドメインのいずれかで Cookie を使用せずに、複数の Web サイト間で個人を追跡することはできません。まともなブラウザーで、あるドメインから変数または Cookie を設定し、別のドメインからアクセスすることはできません。そうしないと、大きなセキュリティ ホールになります。

編集: パノプティックリックは、あなたが提案したように追跡方法として使用することはできません。これは、統計的マッチングに基づいており、それもかなり悪いためです ( https://panopticlick.eff.org/を米国外から、または単に閲覧してみてください) -リリースされた Chrome/Firefox の更新)。これは良い証明の概念ですが、この目的に使用できるものは何もありません。また、統計的に関連性のある結果を得るには、大量のサンプルが必要になります。

編集: ブラウザ フィンガープリントの識別力は弱い: 多くのブラウザは自動更新されており (Chrome や Firefox など)、公式のビルドは非常に少ない (20? 40? Linux ディストリビューションでコンパイルされたものを数えると、もう少し多いかもしれません)。同じユーザー エージェントを持つユーザーの一部。同様の構成を持つ消費者向け PC が多数存在することを付け加えてください。

于 2013-05-06T16:33:09.083 に答える