我将来自谷歌oauth2的访问令牌存储在本地存储中。现在,问题是,这是一个安全问题。另一个人可以从我的浏览器复制本地存储值并输入URL来访问我的帐户。我们如何解决这个问题,因为访问令牌通常只存储在本地或会话存储中。我们可以在说出60分钟之后退出,就像这样:
this.expiresTimerId = setTimeout(() => {
console.log('Session has expired');
this.doLogout(440);
}, 3600);
但是,该漏洞存在60分钟,这可能会导致安全漏洞。怎么避免这个?
答案 0 :(得分:0)
我不知道任何简单的方法来保护访问令牌免受“其他人来到我的计算机并滥用我的开放会话”攻击(访问令牌用于绑定到客户端IP地址)。
您可以使用sessionStorage而不是localStorage来改善这种情况 - 它会在关闭浏览器选项卡时删除其值。
为了防止攻击者造成任何伤害,所有执行数据更改或显示敏感数据的操作都必须以与在线银行系统使用的方式类似的方式重新进行身份验证。