在客户端上缓存用户名和密码是不好的做法吗?



说我创建了一个与ASP.NET API链接的AngularJS Web应用程序。向用户询问其用户名和密码,将其存储在缓存(客户端(中,然后在整个用户会话中使用API调用,是否可以接受?

登录时,将删除缓存。

这可能是您能做的最糟糕的做法。您绝不应该在任何地方保存密码,甚至不应在DB中保存密码。(您将哈希存储在DB中,但这是单独的主题(

通常的情况之一是,在用户类型的用户/密码中,您的(或身份验证(服务器会生成您本地存储在本地存储在某个地方的访问令牌(如今JSON Web令牌(。将访问令牌短寿命与某种刷新令牌相结合。

在JavaScript方面保存的所有事物都非常容易受到XS和其他类型的攻击。

否,这绝不是一个好习惯。您应该做的是在浏览器中保存会话或访问令牌,然后使用它

在客户端缓存中存储用户名和密码确实不是一个好习惯(顺便说一句,您正在使用什么缓存?(。原因是JavaScript更容易闯入,并且您不能以任何代价完全控制客户端的浏览器。

您可能想通过称为JSON Web令牌(JWT(的东西。

这些揭示了安全的方式来存储用户的凭据(当心存储机密详细信息,例如密码(,并且可以轻松地用于API调用。可以在您选择的语言中使用可用的SDK;请参阅上面的链接。

最新更新