这几乎肯定是一个愚蠢的问题,但我想要安全,所以我认为它总是值得仔细检查。
只要我有正确的身份验证(在我的情况下,基于1个数据库的cookie基于1个用户),那么暴露完整文档内容是否有任何风险(包括_id
和{{1}在与该文件有关的每一个GET / PUT中?
我的意思是,提供整个文档是否有任何可想到的方式,而不仅仅是它的核心数据可能导致更新更容易被篡改?
将_rev
暴露给客户端的唯一方法是在每个_rev
之前执行HEAD
请求[服务器端]以获取最新版本号 - 这似乎很疯狂!
答案 0 :(得分:2)
提供整个文档无法使更新更容易被篡改。
如果您使用的是每个数据库的安全性,那么您就拥有了完美的基础。
强制执行读安全性的主要策略是_security
对象。强制执行写安全性的主要策略是validate_doc_update
函数。
所以我认为_id和_rev不会考虑您的应用程序的安全评估。