如何安全地在angularjs中存储密码

时间:2013-09-23 13:01:50

标签: javascript security angularjs

我计划通过将用户输入的用户名/密码存储到javascript变量中,在非ssl加密站点中进行安静登录。

每次用户发出请求时,我的应用都会首先从服务器请求令牌,然后将其与存储的$ scope.password合并,然后将其发送到服务器进行验证。如果验证正确,则请求将继续,否则将停止。

此外,每次验证完成后,服务器都会创建一个新令牌,无论该令牌是否有效。

根据我的知识,如果我使用立即函数会安全,但由于我将使用angularjs,我认为不可能,所以如何确保用户名/密码存储在记忆是不是可以破解?

感谢。

2 个答案:

答案 0 :(得分:3)

您无法阻止有人从内存中读取用户名和密码,但您可能会花些钱在发送到服务器的内容上。

您应该在将密码和用户名发送到服务器时尝试对其进行哈希处理。使用用户会话特有的salt,因此更难以预测,并且需要完整记录整个流量。

这不会带来绝对的安全性,但会提高其他人阅读所有内容的标准。

P.S。:我强烈建议使用SSL。

答案 1 :(得分:3)

我认为你需要“安全地”定义的含义。特别是,确切地定义你想要防御的是什么以及为什么你不能防止常见的攻击向量。

如果你纯粹是想保护物理设备免受内存读取的影响,那么你就不幸了,因为没有人能做到这一点。是的,有办法让它变得更加困难,但最终如果他们有物理访问设备,那么你无能为力就能防止丢失。

如果您正在谈论中间人或类似风格的攻击,那么忽略您的工具包中的最佳工具(SSL证书),您已经失去了。

唯一通过缓存工作并不断重新提交用户/ pw的网站是那些不知道自己在做什么的网站,因为这是一种非常糟糕的做法。