3

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

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

私の自然な最初のアイデアは、マシンごとにローカルデータベースにGUIDを保存し、リクエストとともに送信することでしたが、Google Gearsのストレージドキュメントを見ると、データベースが暗号化されておらず、簡単に改ざんされる可能性があることがわかります(sqlliteファイルに添付する)必要なのはこれだけで、さまざまなツールを使用して実行できます)。

私が最近考えていたのは、マシンごとに繰り返し可能でありながら、JavaScriptのみを使用して一意である署名を計算する方法があることは確かですか?これまでのところ、これの実装は私にはわかりませんでした(navigator.userAgent.uniqueIDのみが存在する場合、プライバシーにはあまり効果がありませんが)。

最後に考えたのは、この機能を提供するためにActiveXコントロールとFirefoxプラグインを作成することですが、これはお尻に大きな苦痛を与えるでしょう...

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

4

1 に答える 1

1

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

于 2010-11-20T02:54:51.577 に答える