CouchDb 中的安全问题

Security issue in CouchDb

我看到 CouchDb 发生了一件奇怪的事情。当我进入 Futon 页面时,我看到我需要登录。否则,如果我尝试更改某些 view 函数,我将收到错误消息 Error: anathorized。当我登录时,这个错误消失了。所以,这似乎没问题。

不正常的是,当我尝试在不提供 userpassword 的情况下使用 curl 调用某些 view 时,我没有收到任何错误消息,但得到一些结果。我是这样做的:

curl -XGET 'http://127.0.0.1:5984/db/_design/query/_view/delete/?key="object_1_"'

这个view^^^应该是return一长串数据。事实上,26行。这就是我登录时在 Futon 中看到的内容。但是由于 curl 命令,我得到:

{"total_rows":26,"offset":25,"rows":[{"id":"...","key":"object_1_","value":"..."}]}

因此,如您所见,我得到了一行数据。我有几个问题。为什么 CouchDb 在需要时不提供 userpassword 就可以查询自己?为什么 return 如此奇怪的结果 - total_rows = 26,但实际上只有一行。

PS。 Ubuntu15.04,CouchDb 1.6.0

编辑

如果我这样提供用户名和密码:

 curl 'http://user:password@....similar'

然后我仍然用一行数据得到这个奇怪的结果。

您没有将数据库限制为任何管理员、admin_roles、用户或 user_roles - 因此任何人都可以访问该数据库。这是默认值并在文档中说明。

为什么您的视图 return "strange results" 确实取决于您的视图和查询。