Security JWTs可以用于非SPA网站吗

Security JWTs可以用于非SPA网站吗,security,authentication,jwt,Security,Authentication,Jwt,我所读到的关于在网站上使用JWTs的所有内容似乎都暗示它们是为用户服务的 我的网站有很多静态页面,但也需要用户登录。使用JWTs合适吗?取决于您所说的合适 如果正确生成jwt并将其存储在httponly安全cookie中,则在许多方面与普通旧会话id相同(但它在服务器上可能是无状态的,在客户端上存储状态的所有潜在漏洞,例如replay) 如果您将其存储为httponly cookie以外的任何其他方式,那么它的安全性就会降低。然后,应用程序中的单个xss将允许攻击者窃取用户令牌。您是否愿意接受这

我所读到的关于在网站上使用JWTs的所有内容似乎都暗示它们是为用户服务的


我的网站有很多静态页面,但也需要用户登录。使用JWTs合适吗?

取决于您所说的合适

如果正确生成jwt并将其存储在httponly安全cookie中,则在许多方面与普通旧会话id相同(但它在服务器上可能是无状态的,在客户端上存储状态的所有潜在漏洞,例如replay)

如果您将其存储为httponly cookie以外的任何其他方式,那么它的安全性就会降低。然后,应用程序中的单个xss将允许攻击者窃取用户令牌。您是否愿意接受这种风险取决于您自己,但对于安全关键型应用程序来说,这可能还不够好

简言之,jwt只是一种经过签名(但默认情况下不加密)的方式,用于在客户机上存储内容。用户或攻击者无法轻松更改内容,但仅此而已,他可以读取、重播内容,等等

如果您只在其中存储某种类型的id,那么它与普通会话id没有什么不同(在这种情况下,使用它没有任何意义)。如果您存储状态(会话数据),则可能会带来您必须关心的漏洞,例如重播攻击风险、用户能够从应用程序中找到签名密钥并为自己签名jwts、jwt实现中的缺陷、用户能够看到会话内容(因为jwt未加密),等等