javascript - CouchDB 和 Cloudant 安全

标签 javascript couchdb cloudant nosql

我们在生产中使用了 CouchDB,主要是在受控环境中构建应用程序。大多数时候,我们使用中间件库直接调用 couchdb/cloudant,从而避免直接调用(前端 JavaScript 直接调用 CouchDB/Cloudant)。

出于安全原因,很明显,对于经过身份验证的 CouchDB 数据库:
http://{username}:{password}@IPAddress:Port/DB
OR对于 cloudant:
https://{username}:{password}@username.cloudant.com/DB , 如果调用是直接从 JavaScript 发出的,今天浏览器中的开发人员工具可以让人们实现此调用,因此可以完全访问您的数据库。

在中间件中处理附件通常很痛苦。让 cloudant 直接处理附件的缓存和服务到前端是有利的,从而减轻我们的中间件的负担。然而,在 Web 上并且有大量的观众,直接调用我们的 cloudant 环境是很棘手的。

我们首先为所有附件设置一个单独的 cloudant 帐户,这样,好奇的男孩 就不会篡改我们用户的实际元数据或信息。因此,他们唯一可以访问的 cloudant 帐户是附件帐户,因为我们正在对我们的数据库进行直接 JavaScript 调用。

问题:我们如何找到一种方法来隐藏我们的 cloudant 环境的用户名和密码,从而允许我们安全地直接对 cloudant 进行 JavaScript 调用?我们的基础设施完全在云端,所以我们没有代理和其他东西可以使用。我们听说过 Url 缩短服务、CDN 等。但是,我们还没有想出一个真正决定性的解决方案。

最佳答案

尝试使用 _session端点。这将设置 cookie 身份验证。

关于javascript - CouchDB 和 Cloudant 安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25638800/

相关文章:

javascript - 为面添加厚度

javascript - 如何使用 document.cookie 来存储和检索数组中的值?

database - Cloudant 与 CouchDB 有何不同以及与之相关?

curl - 如何使用CURL/CygWin将文件从本地Windows机器发送到服务器?

couchdb - 我可以为每个数据库创建多个集合吗?

java - cloudant Java 客户端 getDocsAs()

javascript - 如何自定义颜色tailwind css上的直通文本装饰

couchdb - 每个用户数据库(pouchdb/couchdb)和共享数据 - 可行吗?

cloudant - 可以删除 Cloudant API key 吗?

javascript - Ionic/cordova 屏幕方向不起作用