Json Web Token (JWT) 究竟是如何减少人在循环攻击的?

che*_*hen 8 security restful-authentication jwt

我正在尝试了解 JWT,并在网上浏览各种资源。我找到了显示如何检查 JWT 是否经过调整的代码——这是一个很棒的代码,我理解它。

但是,我不明白 JWT 不会被中间人使用,他们可以查看浏览器数据(想想图书馆中的公共计算机)或嗅探线路(我想这可以通过 HTTPS 避免) 获取 GWT 字符串,并从另一台计算机重播。

https://float-middle.com/json-web-tokens-jwt-vs-sessions/

[headerB64, payloadB64, signatureB64] = jwt.split('.');

if (atob(signatureB64) === signatureCreatingFunction(headerB64 + '.' + payloadB64) {  
    // good
} else
    // no good
}
Run Code Online (Sandbox Code Playgroud)

Mik*_*son 7

确实,他们可以。 您可以采取措施来防止这种情况发生,例如,将请求者的 IP 地址封装在加密数据中,并为令牌提供相对较短的生存时间。但是,关键思想是接收系统只有令牌及其加密内容可以执行。服务器可以验证令牌是否有效并知道它没有被更改,但是,由于没有“会话”,除非令牌的内容允许它这样做,否则它将无法检测到重放攻击。 (因此,这样做!)