【发布时间】:2010-10-23 17:00:11
【问题描述】:
我想知道如何阻止读者访问 couchdb 中的蒲团(_utils),只允许管理员访问。 我需要这样做,为什么如果读者用户访问蒲团,他可以看到我所有数据库的名称以及有多少文档。我的应用程序应该让读者只有在拥有文档 ID 的情况下才能访问文档。
【问题讨论】:
-
我一直在寻找这个问题的答案,感谢您的提问!
标签: security couchdb couchdb-futon
我想知道如何阻止读者访问 couchdb 中的蒲团(_utils),只允许管理员访问。 我需要这样做,为什么如果读者用户访问蒲团,他可以看到我所有数据库的名称以及有多少文档。我的应用程序应该让读者只有在拥有文档 ID 的情况下才能访问文档。
【问题讨论】:
标签: security couchdb couchdb-futon
引用 CouchDB 的主页:
您甚至可以在 CouchDB 之外直接提供网络应用程序。
您可以通过从 Program Files (x86)\Apache Software Foundation\CouchDB\etc\couchdb 打开 default.ini 来禁用蒲团界面,并通过在其前面添加分号来注释以下行:
;_utils = {couch_httpd_misc_handlers, handle_utils_dir_req, "../share/couchdb/www"}
您可以在 [httpd_global_handlers] 标题下找到此行。这将完全禁用 _utils 处理程序并有效禁用 Futon。您可以通过取消注释此行来重新启用它。
如果您直接在 Couch 之外为应用程序提供服务,那么您可能还需要禁用其他处理程序,例如 _all_dbs 处理程序。此处理程序和其他处理程序可以在 [httpd_global_handlers] 部分或 [httpd_db_handlers] 部分下找到。
【讨论】:
Program Files。
即使你屏蔽了蒲团,人们也可以使用 couchdb API 找到数据库列表。我认为正确的解决方案是在 couchdb 前面放置一个网络服务器,只公开你需要的。
【讨论】:
您可以使用任何网络服务器,但如果您想要以 javascript 为中心的方法,请使用 node.js。 http://nodejs.org/
【讨论】: