5

特に、フィルタリングされたレプリケーションは PouchDB で実行できますか? クライアントがフィルターを省略できないようにして、データベース全体と同期できないようにしたいのです。

4

1 に答える 1

5

CouchDB レプリケーションの「プロトコル」はありません。レプリケーション プロセスは、クライアントが 2 つの CouchDB エンドポイントに接続し、一方からドキュメントを読み取り、もう一方に書き込むだけです。もちろん、CouchDB にはそのようなクライアント (「レプリケーター」) が組み込まれています。ただし、概念的にはサードパーティのアプリケーションです。

つまり、アプリケーションのセキュリティ分析からレプリケーションを削除できます。最初に、通常の Web クライアントがサーバーに読み書きすることを検討してください。それをロックします。ハッキングされた Web ブラウザーを使用する、またはカスタム HTTP クライアント (たとえば、クロスオリジン ポリシーを尊重しない) を使用する架空の敵を想定することができます。

この問題が解決されると、レプリケーションは必然的にセキュリティ ポリシーに従います。

つまり、PouchDB と CouchDB の間で複製する場合:

  • リモート サーバーにプッシュしている場合、セキュリティ ツールはリモートvalidate_doc_update機能です。
  • リモート サーバーから取得する場合、セキュリティ ツールはデータベースの _security オブジェクト、特に配列です"members"。クライアントは、データベースを完全に読み取ることも、まったく読み取らないこともできます。もちろん、フィルター処理されたレプリケーションをサーバー側の特別な用途のデータベースにすることができます。
于 2012-05-22T10:02:27.237 に答える