Security 我可以安全地实施“无cookieless”吗;“让我保持登录状态”;在移动应用程序中使用localstorage?

Security 我可以安全地实施“无cookieless”吗;“让我保持登录状态”;在移动应用程序中使用localstorage?,security,authentication,hash,local-storage,cookieless,Security,Authentication,Hash,Local Storage,Cookieless,我不希望用户每次都必须输入密码,也不希望将密码存储在本地。当用户第一次向我发送他们的用户名和密码时,我计划发回他们密码的一些散列版本(pasword+salt的散列),这些密码将被放入localstorage中,用于授权对我们的web服务的后续调用 我知道,如果我的本地存储遭到破坏(例如,被盗的电话),小偷将能够窃取令牌并以用户身份拨打web服务电话,但至少他们没有用户的密码 还有其他我忽略的漏洞吗?有没有理由把它放入cookie而不是本地存储? 有一些事情要考虑。您应该使用SSL来防止窃听。否

我不希望用户每次都必须输入密码,也不希望将密码存储在本地。当用户第一次向我发送他们的用户名和密码时,我计划发回他们密码的一些散列版本(pasword+salt的散列),这些密码将被放入localstorage中,用于授权对我们的web服务的后续调用

我知道,如果我的本地存储遭到破坏(例如,被盗的电话),小偷将能够窃取令牌并以用户身份拨打web服务电话,但至少他们没有用户的密码


还有其他我忽略的漏洞吗?有没有理由把它放入cookie而不是本地存储?

有一些事情要考虑。您应该使用SSL来防止窃听。否则,任何对等方(与您的用户位于同一个不安全的WiFi点的其他人)都可能能够记录您的哈希密码并使用它重播请求。此外,哈希算法的强度也很重要。使用已知用户名和弱密码,可能会生成一个潜在哈希表,并根据已知哈希进行测试(如果攻击者设法破坏哈希)

关于这和饼干的区别,很简单。Cookie通常由服务器随机生成,根本不是从密码派生的。除此之外,饼干几乎是你谈论的一条捷径。无论您是将其保存在应用程序中自己的存储中,还是保存到HTTP库的内置cookie处理程序中,都无关紧要。只要确保使用SSL来防止窃听/重放攻击,您就应该非常安全


另外,我建议您使用服务器生成的散列,这样您就可以将用户密码从等式中完全去掉。

cookie和localstorage都是保存信息的地方。它们在安全级别上几乎相同(好吧,您可以混淆本地存储)。感谢您的回复。是的,所有流量都将通过SSL,服务器肯定是进行散列的服务器。那么你是说在localstore中使用令牌和在cookie中使用令牌一样安全?是的,cookie只是实现这一点的快捷方式。它所做的只是从服务器保存一些内容,并在与该服务器的所有进一步通信中重复使用。好的,谢谢。:)我将稍等片刻,看看是否有人能想到缺点或弱点,然后将你的回答标记为答案。