web-dev-qa-db-ja.com

「ユニークな」匿名ユーザーの検出

impossibleは、ユーザーまたはリクエストをuniqueとして識別するのは簡単です。

しかし、いくつかの方法を組み合わせて、不正行為の試みを妨害し、ユーザーに準一意のステータスを与えることができます。

私は次のことを知っています:

  1. IPアドレス-ある種のデータベースに各訪問者のIPアドレスを保存します
    • 偽造できる
    • 複数のコンピューター/ユーザーが同じアドレスを持つことができます
    • 動的IPアドレスを持つユーザー(一部のISPがそれらを発行します)
  2. Cookieトラッキング-訪問者ごとにCookieを保存します。それを持たない訪問者は「ユニーク」と見なされます
    • 偽造できる
    • クッキーはブラウザを介してブロックまたはクリアできます

許可されていない(非ログイン、非認証)Webサイト訪問者を追跡する方法は他にありますか?

41
Omar

「ユニークな」ユーザーを検出する方法は実際には数多くあります。これらの方法の多くは、マーケティングの友人が使用しています。 Java、Flashなどのプラグインを有効にすると、さらに簡単になります。

現在、私のお気に入りのCookieベースのトラッキングのプレゼンテーションはevercookiehttp://samy.pl/evercookie/ )です。複数のストレージメカニズムを介して「永続的な」Cookieを作成します。平均的なユーザーはフラッシュできません。具体的には次のように使用します。

  • 標準HTTP Cookie
  • ローカル共有オブジェクト(Flash Cookie)
  • Silverlight分離ストレージ
  • HTML5 Canvasタグを使用して自動生成され、強制的にキャッシュされたPNGのRGB値にCookieを保存して、ピクセル(Cookie)を読み取る
  • Web履歴にCookieを保存する
  • HTTP ETagへのCookieの保存
  • CookieをWebキャッシュに保存する
  • window.nameキャッシング
  • Internet ExplorerのuserDataストレージ
  • HTML5セッションストレージ
  • HTML5ローカルストレージ
  • HTML5グローバルストレージ
  • SQLiteによるHTML5データベースストレージ

URLを思い出せませんが、Webブラウザーから収集できるすべての情報に基づいて、どのように「匿名」であるかを通知するサイトもあります。ロードしたプラグイン、バージョン、言語、画面サイズなどです。その後、先ほどお話ししたプラグイン(Flash、Javaなど)を利用して、ユーザーについてさらに詳しく知ることができます。 「あなたがどれだけユニークか」を示したページ、または誰かが知っているページ""を見つけたときに、この投稿を編集しますユーザーはある意味ユニークです!

-[〜#〜]編集[〜#〜]-

私が話していたページを見つけました: Panopticlick-"ブラウザのユニークさと追跡可能性"

ユーザーエージェント、HTTP_ACCEPTヘッダー、ブラウザープラグイン、タイムゾーン、画面サイズと奥行き、システムフォント(Java経由)、クッキーなどを収集します。

私の結果:これまでにテストされた1,221,154の間で、お使いのブラウザの指紋は一意であるようです。

59
Dennis G

Panopticlick は、フィンガープリントを使用してユニークユーザーをチェックするための非常に洗練された方法を備えています。 IPアドレスとユーザーエージェント以外に、タイムゾーン、画面解像度、システムにインストールされたフォント、ブラウザーにインストールされたプラグインなどを使用したため、ユーザーごとに非常に異なるIDコンピュータに何も保存せずに。偽陰性(まったく同じ指紋を持つ2人の異なるユーザーを見つける)は非常にまれです。

このアプローチの問題は、誤検知が発生する可能性があることです。たとえば、新しいフォントをインストールした場合、同じユーザーを新しいユーザーと見なします。これが大丈夫かどうかは、あなたのアプリケーションに依存すると思います。

8
Jakob

はい、匿名の訪問者を100%確実に区別することは不可能です。あなたができる最善のことは、あなたが持っている情報を集め、できるだけ多くの訪問者を区別できるようにすることです。

使用できる情報がもう1つあります。

  1. ブラウザ文字列
    • 一意ではありませんが、他の情報と組み合わせると、解像度が向上します。

訪問者を100%確実に区別する必要がある場合は、訪問者をログインさせる必要があります。

2
Guffa

私の考えでは、これを実現する確実な方法はありません。オプションの中で、Cookieはかなり現実的な数を生み出す可能性が最も高いです。 NAT処理とプロキシサーバーは多数のユーザーのIPアドレスをマスクする可能性があり、動的IPアドレス割り当ては他の多くのユーザーの結果を混乱させる

Google Analyticsなどの使用を検討しましたか?彼らは独自の訪問者追跡をサービスの一部として行っており、おそらくこの問題のヒューリスティックな解決策を見つけるために、あなたや私よりもはるかに多くのお金を費やしています。

2
Paul Russell