我正在为我工作的100位用户编写一个网络应用程序。它可以在互联网上访问,而不仅仅是我们的内部网。许多用户都是不熟练的用户,但大多数人都使用Chrome,因为这是笔记本电脑上默认使用的浏览器。
要使用网络应用程序进行身份验证,这是一个潜在的计划:
这是个好主意吗?
答案 0 :(得分:3)
这个帖子中存在很多关于存储密码和本地存储与cookie的错误信息。
首先,本地存储不比将用户密码存储在cookie中安全。事实上,它实际上更安全,因为本地存储中的数据永远不会发送到服务器,除非明确要求发送(cookie,这就是为什么在其中存储密码不安全)。
这意味着您至少可以确保密码只能通过HTTPS发送。
话虽如此,对于一些用户来说,不必登录的便利性非常好。如果您想要更安全,最好的办法是使用某种类型的客户端加密来存储密码。
否则,请仔细考虑您正在处理的信息类型。更重要的是什么?可用性还是安全性?这是银行信息吗?黑客可以使用用户密码造成什么类型的损害?
也没有安全的方法来做“记住我”,所以上面的帖子是完全错误的。请记住,我使用的cookie最多,与本地存储一样安全。
归结为偏好和需求。也许给用户选择?
可以使用本地存储或cookie来实现以下类型的记忆。 What is the best way to implement "remember me" for a website?
答案 1 :(得分:2)
如果要为用户存储密码,为什么还要进行身份验证呢?
您如何确保使用其计算机的其他人无法访问您的网站?
密码是关于某人与您分享秘密,通过该密码他们告诉您他们是他们所声称的人(身份验证) - 不再需要现在重新进行身份验证,然后使身份验证方案毫无用处。 / p>
答案 2 :(得分:2)
我不认为您应该在客户端存储用户的密码以实现您的目标。它可以通过cookie完成。
因此假设用户已经过身份验证,那么也许你可以制作一个可以在他们的机器上停留几周的cookie,这将作为他们的通行证。
不建议存储密码(太非加密)。
答案 3 :(得分:2)
这没有多大意义。听起来服务器不支持“记住我”,而您正试图使用客户端添加它。为什么不在服务器上支持它?有很多关于设置它的现有教程和问题(尝试this search),但它基本上意味着有一个特殊的登录cookie,其中包含一个随机生成的值(由服务器跟踪)和一个长(可能是一对)几周,而不是永远)到期。存储密码,即使是哈希,如果有人获得对数据库的访问权限,也会使用户无限期地(直到密码被更改)重放攻击。