Heim > Fragen und Antworten > Hauptteil
ADie A- und B-Systeme sind vom Front- und Back-End getrennt.
(Zwei SystemeDomainübergreifend)
Jetzt springt eine Seite in System A zu System B.
Jetzt verwende ich es, um zu System B zu springen. In der Adressleiste befindet sich ein verschlüsseltes Token (einschließlich Benutzer-ID), das die automatische Anmeldung erleichtert.
Auf dieser Seite werden Produktinformationen und Rabatte für diesen Benutzer angezeigt.
Angenommen, ich kenne zu diesem Zeitpunkt das Token einer anderen Person und ändere dann die Adressleiste. Die Seite wird zur Information einer anderen Person.
Zu diesem Zeitpunkt kannte ich noch nicht einmal die Kontopasswörter anderer Leute, und dann bekam ich die Benutzerinformationen einiger anderer Leute.
曾经蜡笔没有小新2017-07-03 11:45:27
最简单的办法,也是比较安全的办法。在b站帮其登录的时候,再弹次框。让其确认密码!
有个叫csrf的令牌或者。随机数的办法。值得你拥有。csrf令牌就是限制这样的跨域攻击的
JWT的验证token是要放到header里的,你可以考虑授权认证
高洛峰2017-07-03 11:45:27
首先token的出现就是为了解决用户验证的问题 既然是两个系统了就应该避免自动登录的这种情况 这是很不安全的。
不过你既然有这样的需求 那只有尽量侧面规避了,给个方案:token中尽量避免敏感信息 ,其次就是在授权跨系统的token时 把这个token的授权设为一次性的 并且压缩token的有效时间 如此token只办30分钟内有效
其实你可以参考现在的很多第三方登录 如微博等 授权的token都只包含昵称,头像等少量信息
PHP中文网2017-07-03 11:45:27
题主这是真实场景的情况吗?
如果你能得到别人的 token,相当于窃听了他的密码,这不是 JWT 的安全问题。
与 JWT 本身有关的措施,就是加入过期时间,强制 JWT 在一定时间后失效。
根据 JWT 规范,JWT 最好是放在请求头部 Authorization 中,不要放在 URL 里。
HTTPS 是有用的。