Javascript 隐藏数据库中的用户名和密码

Javascript 隐藏数据库中的用户名和密码,javascript,couchdb,pouchdb,Javascript,Couchdb,Pouchdb,我正在试验PockDB和客户端Javascript。PockDB站点上的示例对我来说非常有用:。我的问题是,当我连接到远程服务器时,有没有办法隐藏用户名和密码?有关守则: var remoteCouch = 'http://user:pass@mname.iriscouch.com/todos'; 这是所有客户端JS,可公开查看。我很难找到解决方法。在服务器之间通信时,可以使用SSL来保持安全。客户端和服务器在发送有关请求的任何数据(即文件名、基本身份验证凭据等)之前建立安全连接 至于客户端的

我正在试验PockDB和客户端Javascript。PockDB站点上的示例对我来说非常有用:。我的问题是,当我连接到远程服务器时,有没有办法隐藏用户名和密码?有关守则:

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

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

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

至于客户端的内容,更重要的是您希望有多安全。因为所有东西都是JavaScript,尤其是对于PockDB,所以您必须满足于以下两件事情之一

  • 有一个奇特的开关,可以显示菜单或隐藏菜单

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

  • 加密你需要的东西

    如果客户端有敏感数据,您可以要求他们提供密码并使用该密码加密敏感数据。根据有效负载的不同,它可能会或可能不会太高性能。在这种情况下,您可能需要实现自己的会话,这样就不会在内存中保留密码或敏感数据。然后Eve所要做的就是转到JS控制台并点击
    console.log(MyApp.User.password)。即使密码是经过哈希和salt处理的(或者应该是),Eve可能仍然可以访问哈希函数和salt


  • 祝你好运!希望听到您的建议。

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

    您最好在上询问。在任何情况下,此处的用户名和密码可能由用户拥有,而不是由您拥有。因此,您将提示他们输入凭据,并可能以某种方式(安全地)记住它们