是否有可能使用CouchDB的过滤的复制仅将数据的子集复制到用户的数据子集?
题
特别是,可以使用PICHDB进行筛选的复制可以进行复制吗?我想确保客户端无法省略过滤器,从而同步整个数据库。
解决方案
没有couchdb复制“协议”。复制过程只是连接到两个CouchDB端点的客户端,从一个读取文档,并将它们写入另一个。当然,CouchDB附带了这样的客户(“复制器”)内置;但概念上这是第三方应用程序。
是什么意思,您可以从您的应用程序的安全分析中删除复制。首先考虑正常的Web客户端读取和写入您的服务器。锁定。您可能会假设具有黑客Web浏览器的假设对手,或者使用自定义HTTP客户端(例如,不尊重横向响铃)。
如此解决这个问题,通过必要,复制将遵循您的安全策略。换句话说,在pizhdb和couchdb之间复制:
- 如果将向远程服务器推送,则安全工具是远程生成型迭代码功能。
- 如果从远程服务器中拔出,则您的安全工具是数据库_security对象 - 特别是
validate_doc_update
数组。客户端可以完全读取数据库,或根本不读取数据库。当然,您可以将过滤的复制在服务器端上的特殊数据库中。
不隶属于 StackOverflow