2010-11-20 10 views
3

さまざまなアプリケーションレベルのデータのためのストレージメカニズムとしてGoogleのギアを使用するウェブサイトを想像してください。このデータは、アプリケーションがアクティブな間に非同期Webサービス呼び出しを使用して断続的にサーバーに複製されます。htmlベースのウェブサイトでのPCの本物のユニークな識別

問題はサブスクリプション監視メカニズムにあります。ユニークなPCに基づいてこのサービスへのサブスクリプションシステムを想像してみてください。 Webサービスは、データを同期させているPC(具体的にはWebブラウザ)を一意的にどのように識別しますか?

私の最初のアイデアは、ローカルデータベースの1台のマシンにGUIDを保存してリクエストで送信することでしたが、Googleギアのストレージドキュメントを見ると、データベースが暗号化されていないことがわかりますsqlliteファイルには、すべてが必要であり、さまざまなツールを使用して実行できます)。

最近私が考えてきたことは、確かに、マシンごとに繰り返し可能な署名を計算するのに、JavaScriptだけを使ってユニークなものがあることでしょうか?これまでの実装では、(navigator.userAgent.uniqueIDのみが存在していたとしても、プライバシーのためにはあまり効果がありませんでしたが)私には分かりませんでした。

最終の思考は、この機能を提供するために、ActiveXコントロールとFirefoxのプラグインを作成することは明らかであるが、これはお尻に巨大な苦痛だろう...

任意の洞察力をいただければ幸いです。

答えて

1

ローカルデータベースでGUIDを使用するあなたの考えは悪い考えではありません。接続時にサーバーがローカルDBのGUIDを発行できるようにすることで、さらに拡張できます。次に、有効なGUIDのレプリケーションをサーバーに保存します。そのマシンがサーバー上の有効なGUIDと一致するGUIDを使用してレプリケーションプロセスを開始すると、データを送信する権限が与えられます。さらに、ローカルデータベースを使用してGUIDを期限切れにして再発行することもできます。最後に、単一のユーザーにリリースされたGUIDの数を管理することも賢明でしょう。ユーザーがユーザー名jdoeで認証する場合、jdoeに発行されたGUIDを使用できるユーザーはjdoeだけです。 (おそらくユーザ名は最良の二次識別子ではありませんが、このようなものを使用すると偽のデータがシステムに導入されるのを助けることができます)

+0

このアプローチの問題は、おそらく私は気にしないでください.... GUIDを頻繁に変更する考えが本当に好きです。私の心を越えていませんでした。他のすべての提案もボード上で取られました。 –

関連する問題