PouchDB中隐藏的用户名和密码

时间:2013-12-24 04:19:31

标签: javascript couchdb pouchdb

我正在尝试使用PouchDB和客户端Javascript。 PouchDB网站上的示例对我很有用:http://pouchdb.com/getting-started.html。我的问题是,当我连接到远程服务器时,有没有办法模糊用户名和密码?有问题的代码:

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

这是所有客户端JS并且可公开查看。我很难找到解决方法。

2 个答案:

答案 0 :(得分:2)

当您在服务器之间进行通信时,可以使用SSL保持安全。客户端和服务器在发送有关请求的任何数据(即文件名,基本身份验证信息等)之前建立安全连接。

就客户方面的情况而言,更多的是你想要多么安全的问题。因为一切都是JavaScript,尤其是PouchDB,你必须满足于两件事之一

  1. 有一个花式开关,显示菜单或隐藏菜单

    在这种情况下,您有一个包含所有重要菜单的主屏幕。用户提供正确的密码,将其带到该屏幕,或者程序显示“错误的用户名或密码错误”。但由于它全部使用JavaScript,任何对您的系统有足够了解的人都可以说MyApp.User.isLoggedIn = function() { return true; };

  2. 加密您需要的内容

    如果客户端有敏感数据,您可以要求他们提供密码并使用该密码加密敏感数据。根据有效负载,它可能会或可能不会太强大。在这种情况下,您可能必须实现自己的会话,因此您最终不会将密码或敏感数据保留在内存中。然后所有夏娃必须做的就是去JS控制台并点击console.log(MyApp.User.password);。即使密码经过哈希处理(或应该是),Eve仍然可以访问哈希函数和盐。

  3. 祝你好运!很想听听你的想法。

答案 1 :(得分:2)

如果用户要提供用户名和密码,您可以使用登录提示向他们提供,并使用安全的CouchDB session cookie。 Cookie是防篡改的,将在浏览器会话结束或您明确删除时删除。