【问题标题】:PouchDB securityPouchDB 安全性
【发布时间】:2017-04-29 10:52:13
【问题描述】:

在客户端使用 PouchDB 访问远程服务器时要遵循的最佳安全实践是什么?

https://pouchdb.com/getting-started.html 上的示例使用代码与远程服务器同步:

var remoteCouch = 'http://user:pass@mname.example.com/todos';

问题是我可能不希望用户看到他们可以下载的文件的明文密码——即使该文件只显示给经过身份验证的用户。

请指教。提前致谢,

【问题讨论】:

    标签: couchdb pouchdb


    【解决方案1】:

    这是一个really good article,关于 CouchDB 的所有事物的身份验证。

    我有一个生产服务器,其 CouchDB 配置为在 localhost 上使用 HTTP,但外部请求需要通过 stunnel 重定向到 CouchDB 的 HTTPS。

    在客户端上,我使用 PouchDB 来维护一个本地的复制数据库。作为通过 HTTPS 与 CouchDB 建立通信的握手的一部分,该软件从另一台服务器获取 CouchDB 凭据 - 凭据永远不会存储在客户端。

    pouchdb-authentication 是一个不错的插件,但我发现亲自处理身份验证会更好。

    【讨论】:

      【解决方案2】:

      每个站点用户都应该有自己的 CouchDB 用户。正如@onno 建议的那样,使用 HTTPS 和用户的登录凭据来访问 CouchDB。客户端 JavaScript 中不应提供密码。

      【讨论】:

        【解决方案3】:

        这取决于您的远程服务器。如果您使用 CouchDB 服务器,则可以将其配置为仅通过 SSL (HTTPS) 进行通信,有关详细信息,请参阅docs

        如果您不想将您的 CouchDB 服务器直接暴露在互联网上,您也可以将其隐藏在反向代理后面,例如启用了 mod_proxy 扩展和 SSL 的 Apache 服务器。

        【讨论】:

        • 使用 SSL 对可以从 javascript 源读取密码的攻击者没有帮助
        猜你喜欢
        • 2017-05-03
        • 1970-01-01
        • 2016-04-20
        • 2018-10-02
        • 2019-12-11
        • 1970-01-01
        • 2022-12-25
        • 1970-01-01
        • 2018-10-28
        相关资源
        最近更新 更多