在javascript中存储类似凭证的信息

时间:2014-12-05 08:53:28

标签: javascript ajax authentication

我有一个使用javascript登录的应用程序。经过身份验证后,服务器向我发送一个令牌,我必须将其附加到我向服务器发出的每个ajax请求中,以便服务器知道我有资格询问信息。但是,我的应用程序不是单页面应用程序,这意味着在点击链接后,页面会重新加载,我需要重新进行身份验证。

是否可以安全保存令牌并在页面重新加载后再次访问它?

我想到的选项是将其保存在cookie或本地/会话存储中,但是,我不确定这些是否足够安全。

您是否知道在客户端保存令牌的任何其他更安全的方法?或许您是否知道我提到的选项是否足够安全以存储这样的敏感信息?

感谢您的任何建议。

编辑:我无法更改服务器端应用程序,令牌必须存储在客户端上。

2 个答案:

答案 0 :(得分:1)

本地存储:保密或敏感信息不是更安全的方法。

Cookie :有很多关于窃取Cookie和阻止跨站点脚本的文章。

会话存储安全,但问题是您在服务器端使用的技术。 是NodeJS还是PHP或其他什么?

我已经使用NodeJS和PHP进行身份验证。

使用Express.js,您可以为每个用户维护会话,并在每个请求/页面加载时检查/验证,并验证它是否是有效的用户/请求。 它还提供了一个活动的会话检查,即,如果用户处于非活动状态,有时会自动销毁/清除/清除会话。

除了passport.js,你也可以实现这个,但这取决于你的要求。

选中此LINK

答案 1 :(得分:0)

如果您认为令牌是保密的,那么您不应该考虑将其保存在客户端。

即使您处于想要在客户端保存此类机密信息的情况,您提到的内容也是正确的(Cookie,本地/会话存储)。保存前加密您的令牌。

本地存储: 它会在您的域名下保存数据。没有其他域名无法访问您信息的本地存储信息。

如果我错了,请纠正我,如果我是对的,请接受。

相关问题