CouchDB中_id和_rev的数据安全性

时间:2012-05-06 17:52:07

标签: architecture nosql couchdb

这几乎肯定是一个愚蠢的问题,但我想要安全,所以我认为它总是值得仔细检查。

只要我有正确的身份验证(在我的情况下,基于1个数据库的cookie基于1个用户),那么暴露完整文档内容是否有任何风险(包括_id和{{1}在与该文件有关的每一个GET / PUT中?

我的意思是,提供整个文档是否有任何可想到的方式,而不仅仅是它的核心数据可能导致更新更容易被篡改?

_rev暴露给客户端的唯一方法是在每个_rev之前执行HEAD请求[服务器端]以获取最新版本号 - 这似乎很疯狂!

1 个答案:

答案 0 :(得分:2)

提供整个文档无法使更新更容易被篡改。

如果您使用的是每个数据库的安全性,那么您就拥有了完美的基础。

强制执行读安全性的主要策略是_security对象。强制执行写安全性的主要策略是validate_doc_update函数。

所以我认为_id和_rev不会考虑您的应用程序的安全评估。