小程序用户发起登陆请求后,会在 redis 中以 token 为 KEY , 用户信息为 VALUE 进行存储。
现在发现个问题,如果用户恶意调用登陆接口,就会在 redis 中生成大量 token ,并且有着相同的 VALUE 。
想问下各位老师,有没有什么方法避免这种情况?
谢谢 :)
1
Rache1 2022-12-16 18:32:15 +08:00
token 只存 id ,把用户信息另外存,用 id 去获取信息。
你也可以用个 list 把登录用户的 token 存起来,这样就知道用户有哪些 Token 了,还可以在他登录时检查清理掉过期的 Token 。 login:<用户 ID>{token, token2, token3} |
2
3K1yf6UvnVz5w008 2022-12-16 18:42:20 +08:00
用户请求后,通过 token 获取到用户 id
再查 redis 有没有相同 id 的数据,有就 del |
3
lianyue 2022-12-16 20:35:09 +08:00
key = username
value = token 换成这样就好了呗 每次管他对不对写入就行了 |