作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
JWT token 始终暴露给客户端,无论是存储在 localStorage
还是 cookies
中。我在某处读到通过套接字 (socket.io)
中的查询参数发送 jwt token 是个坏主意,但为什么呢? token 没有密码,我只是不明白它如何导致安全问题,客户端不是始终存在 jwt token 吗?
最佳答案
你是对的,JWT token 通常可以在客户端通过 cookie 或本地存储访问。它们通常包含低风险信息,例如“联系信息”或基本用户详细信息,因此不存在太大的安全风险。
至于通过 Socket.io 中的查询字符串传递它,尽管它可能不会有太大风险,但以可读的方式包含任何用户信息(例如查询参数)违反了最佳实践。
这篇文章有类似的观点,如果你好奇的话,可以为你提供更好的解决方案:
https://facundoolano.wordpress.com/2014/10/11/better-authentication-for-socket-io-no-query-strings/
关于node.js - 将 jwt 暴露给客户端可能会导致安全问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52416174/
java.lang.Throwable 的哪些子类可能被空语句抛出? 通过短语“空语句”,我指的是“无”、“分号”和“分号”: // .... A(); B(); C(); try { //
我是一名优秀的程序员,十分优秀!