特に、フィルタリングされたレプリケーションは PouchDB で実行できますか? クライアントがフィルターを省略できないようにして、データベース全体と同期できないようにしたいのです。
1346 次
1 に答える
5
CouchDB レプリケーションの「プロトコル」はありません。レプリケーション プロセスは、クライアントが 2 つの CouchDB エンドポイントに接続し、一方からドキュメントを読み取り、もう一方に書き込むだけです。もちろん、CouchDB にはそのようなクライアント (「レプリケーター」) が組み込まれています。ただし、概念的にはサードパーティのアプリケーションです。
つまり、アプリケーションのセキュリティ分析からレプリケーションを削除できます。最初に、通常の Web クライアントがサーバーに読み書きすることを検討してください。それをロックします。ハッキングされた Web ブラウザーを使用する、またはカスタム HTTP クライアント (たとえば、クロスオリジン ポリシーを尊重しない) を使用する架空の敵を想定することができます。
この問題が解決されると、レプリケーションは必然的にセキュリティ ポリシーに従います。
つまり、PouchDB と CouchDB の間で複製する場合:
- リモート サーバーにプッシュしている場合、セキュリティ ツールはリモート
validate_doc_update
機能です。 - リモート サーバーから取得する場合、セキュリティ ツールはデータベースの _security オブジェクト、特に配列です
"members"
。クライアントは、データベースを完全に読み取ることも、まったく読み取らないこともできます。もちろん、フィルター処理されたレプリケーションをサーバー側の特別な用途のデータベースにすることができます。
于 2012-05-22T10:02:27.237 に答える