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