我使用Couch DB作为数据的主数据库,在客户端我安装了Pouch数据库实例。现在,我想将数据从主服务器同步到客户端,但没有客户端应该具有将数据同步回服务器的权限。
我知道在Pouch / Couch Db中存在db的单面复制,但这并不限制未知客户端故意滥用Couch db。 (任何用户都可以访问我的Couch数据库实例的API并对其造成伤害。)
注意:客户端没有身份验证系统。
答案 0 :(得分:1)
考虑集中式CouchDB上的验证功能,如下所述:http://docs.couchdb.org/en/2.0.0/couchapp/ddocs.html#validate-document-update-functions
validatefun(newDoc, oldDoc, userCtx, secObj)
抛出:
forbidden
错误以优雅地阻止文档存储。 ...设计文档可能包含名为
validate_doc_update
的函数 可用于防止无效或未经授权的文档更新 来自存储的请求。
答案 1 :(得分:0)
一种粗略的方法是将CouchDB置于反向代理(例如nginx)之后,并配置反向代理以阻止所有POST
,PUT
,PATCH
和{{1请求数据库。