求一个思路 小程序登陆 token 的问题

2022-12-16 18:26:57 +08:00
 hi20151215x

小程序用户发起登陆请求后,会在 redis 中以 token 为 KEY , 用户信息为 VALUE 进行存储。

现在发现个问题,如果用户恶意调用登陆接口,就会在 redis 中生成大量 token ,并且有着相同的 VALUE 。

想问下各位老师,有没有什么方法避免这种情况?

谢谢 :)

920 次点击
所在节点    问与答
4 条回复
Rache1
2022-12-16 18:32:15 +08:00
token 只存 id ,把用户信息另外存,用 id 去获取信息。

你也可以用个 list 把登录用户的 token 存起来,这样就知道用户有哪些 Token 了,还可以在他登录时检查清理掉过期的 Token 。

login:<用户 ID>{token, token2, token3}
3K1yf6UvnVz5w008
2022-12-16 18:42:20 +08:00
用户请求后,通过 token 获取到用户 id
再查 redis 有没有相同 id 的数据,有就 del
lianyue
2022-12-16 20:35:09 +08:00
key = username
value = token
换成这样就好了呗
每次管他对不对写入就行了
SJH0402
2022-12-19 18:24:35 +08:00
@lianyue 求教,假如用户可以通过手机号,邮箱,用户名任意一种方式登录,那么 redis 中要存储对应的三份数据吗

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/903030

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX