我们在生产中使用了CouchDB
,主要是在受控环境中构建应用程序。大多数情况下,我们使用中间件库直接调用couchdb/cloudant
,因此避免直接(前端JavaScript调用直接调用CouchDB/Cloudant
)。CouchDB和Cloudant安全
出于安全原因,很明显,通过身份验证的CouchDB数据库:http://{username}:{password}@IPAddress:Port/DB
OR为cloudant:https://{username}:{password}@username.cloudant.com/DB
, 如果呼叫直接从JavaScript做,今天在浏览器的开发者工具,使一个人认识到这一点调用并因此完全访问您的数据库。
在中间件处理时,附件通常很痛苦。使云雾处理附件的缓存和服务直接到达前端是有利的,因此减轻了我们的中间件的负担。然而,在网络上和大量的观众中,直接打电话给我们的云环境是棘手的。
我们首先为所有附件拥有一个独立的cloudant帐户,因此inquisitive boy
不会篡改实际的元数据或我们用户的信息。因此,他们可以访问的唯一云帐户是附件,因为我们正在对数据库进行直接的JavaScript调用。
问题:我们如何找到隐藏我们的云环境的用户名和密码的方式,从而使我们能够安全地直接将JavaScript调用到cloudant上?我们的基础设施完全在云端,所以我们没有代理和东西可以使用。我们听说过Url缩短服务,CDNs e.t.c.但是,我们还没有提出一个确凿的解决方案。