gpt4 book ai didi

couchdb - 我可以限制未经身份验证的用户访问 _all_docs 吗?

转载 作者:行者123 更新时间:2023-12-02 11:58:03 25 4
gpt4 key购买 nike

我希望人们能够使用带有随机 ID 的链接私下共享文档,就像我将私有(private)链接发布到 Pastebin 后得到的那样。我想总体了解 CouchDB 和 Cloudant。

最佳答案

使用 Apache CouchDB,读取权限是针对每个数据库的,而不是针对每个文档。如果用户可以从数据库中获取文档,则用户也可以获取 _all_docs?include_docs=true

我在这个问题中写了关于 CouchDB read authorization 的详细信息.

有几种方法:

  1. 第 7 层防火墙或反向 HTTP 代理。这很难正确地做到; IMO 对大多数人来说不可行。您必须非常熟悉 CouchDB 的 API,以确保阻止每个可能的查询(例如_rewrite绕过您的过滤器)。

  2. 每个用户一个数据库。这是CouchDB 的原生解决方案。创建数据库非常便宜。然后,将用户可以看到的文档复制到他或她的数据库中。用户需要 Couch 密码或 OAuth 帐户。

  3. 我最近在每用户数据库方面取得了成功,但 URL 中还有一个唯一的 key ,可以授予他们立即访问权限。这感觉就像你想要的东西,但在幕后我只是用随 secret 码创建一次性帐户。该链接会转到公共(public)页面,例如 www.example.com/pastebin/index.html?doc_id=some_docid&secret=random_secret。然后浏览器上的 Javscript 将读取 window.location 并将该密码插入到 AJAX 查询中(在授权 header 中)。沙发授予许可,用户很高兴。不幸的是,这需要一些尝试和错误。然而,它主要是简单的网络编程。

关于couchdb - 我可以限制未经身份验证的用户访问 _all_docs 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4953259/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com