java - jwt token安全性问题.
问题描述
A,B系统是前后端分离的。(两个系统跨域)现在A系统一个页面跳转到B系统中。现在是用的跳转到B系统,地址栏中带了一个加密token (包含用户id).帮其自动登陆上了。此页面显示的商品信息和该用户的折扣。
此时假如我知道了别人的token,然后修改地址栏。页面就变成别人的信息了。
此时我都不知道别人的账号密码,然后就获得了别人的一些用户信息.
问题解答
回答1:https加密吧,Http协议本身就不安全,明文的。这几位说的对,我说错了
回答2:最简单的办法,也是比较安全的办法。在b站帮其登录的时候,再弹次框。让其确认密码!
有个叫csrf的令牌或者。随机数的办法。值得你拥有。csrf令牌就是限制这样的跨域攻击的
JWT的验证token是要放到header里的,你可以考虑授权认证
回答3:首先token的出现就是为了解决用户验证的问题 既然是两个系统了就应该避免自动登录的这种情况 这是很不安全的。不过你既然有这样的需求 那只有尽量侧面规避了,给个方案:token中尽量避免敏感信息 ,其次就是在授权跨系统的token时 把这个token的授权设为一次性的 并且压缩token的有效时间 如此token只办30分钟内有效其实你可以参考现在的很多第三方登录 如微博等 授权的token都只包含昵称,头像等少量信息
回答4:题主这是真实场景的情况吗?
如果你能得到别人的 token,相当于窃听了他的密码,这不是 JWT 的安全问题。
与 JWT 本身有关的措施,就是加入过期时间,强制 JWT 在一定时间后失效。
根据 JWT 规范,JWT 最好是放在请求头部 Authorization 中,不要放在 URL 里。
HTTPS 是有用的。
相关文章:
1. 为什么span的color非要内联样式才起作用?2. docker - 如何修改运行中容器的配置3. css - div设置float:left后高度设置自动会无效 ?4. 小白问题getDay()5. 手机开发 - Android蓝牙模块连接后怎么接收数据?求助6. 求救一下,用新版的phpstudy,数据库过段时间会消失是什么情况?7. 老师,请问我打开browsersync出现这个问题怎么解决啊?8. 请问一下各位老鸟 我一直在学习独孤九贱 现在是在tp5 今天发现 这个系列视频没有实战9. 在cmd下进入mysql数据库,可以输入中文,但是查看表信息,不显示中文,是怎么回事,怎新手,请老师10. html5 - H5做的手机分享页微信更新后,分享出去不再默认显示第一个图 作为缩略图

网公网安备