0

私は分析ツールに取り組んでいます。一意のユーザー (または、より可能性が高いのは一意のマシン) を合理的に識別できるようにしたいと考えています。ある程度の不正確さは問題ありません。Haxe でクライアントを構築しているため、低レベルのデバイス (Android/iOS) と Web (JS/Flash) の両方をサポートする必要があります。(これに関するもう 1 つの警告は、言語固有の API を使用できないことです。)

以前は、のタプルを使用して(ip, mac address)ユーザーを一意に識別していました。ただし、Flash (および Javascript) では、MAC アドレスにアクセスできません。おそらく GUID を使用して、サーバー側で ID を保存および管理する必要があることに気づきました。クライアントは、サーバーに GUID (または何らかの ID) を要求し、それを同じデバイスからの後続の要求に使用します。

ただし、GUID が適切かどうかはわかりません。または、IP またはその他の情報で補足する必要がある場合。(クライアント側から IP を取得するためのアクセス権があります。)

クライアントでのワークフローは次のようになります。

  • 保存された一意の識別子を確認する
  • 存在する場合は、すべてのリクエストとともに送信します
  • そうでない場合は、一意の識別子を要求して保存するための呼び出しを行います
  • 後続のすべての呼び出しで一意の識別子を送信する

もちろん、これはデバイスごとに一意であり、ローカル デバイスの識別子を削除することで、2 人のユーザーの誤検知を取得する何らかの方法がある可能性があります。

サーバー側では、新しい GUID を生成し、ユーザーが一意の識別子を要求したときにそれをユーザーに送信するのと同じくらい簡単です。

これは良いアプローチですか?より良いアプローチはありますか?

4

2 に答える 2

2

必要な一意性とセキュリティのレベルに応じて、永続的な Cookieの使用を検討してください。Cookie は、ワークフローで説明した一意の識別子である可能性があります。また、Cookie が後続のリクエストで確実に送信されるようにするには、永続的な Cookieにする必要があります。

于 2012-10-04T10:48:48.950 に答える
1

デバイスに SNMP エージェントがある場合 (ほとんどのデバイスは SNMP をサポートします)、SNMP を介して MAC アドレスを照会し、デバイスを識別することができます。これは、ネットワーク管理ツールがどのように機能するかです (複数のインターフェイスを組み合わせて、複数のインターフェイスを持つ単一のデバイスを識別します)。

于 2012-10-04T10:50:26.183 に答える