通过传jwt生成的token作为参数判断是否登录的方式,一但抓取到token之后,其实相当于破解加密方式,跟传一个user_id 没什么区别,基于这种情况,我想到通过添加签名来解决问题
三个参数:
- Authorization (JWT token)
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoxLCJleHAiOjE2MzQ5Mjk0ODB9.YSheIIx19pa0b1X3x73HOrbIcZy_cJ471YeYjnicI7c - Time (当前时间戳)
1634893543 - Signature ( Authorization + Time 一定的规则生成的签名)
a57e980960ec951e88eaa1351af92a96
目的
对 Authorization 进行二次加密, 进而验证登录是否有限
猜想
应用在发送短信验证码上可以吗?
发送短信验证码接口被抓到之后很容易被暴力调用
接口参数 mobile time signature
根据mobile和time通过一定的规则生成signature (生成的规则可以自己随意定制)
-
time有效期可以在服务端配置 超过时间 参数失效
-
哪怕抓到这三个参数,判断mobile是否发送过 发送过显示 ** 秒后才能重新发送验证码
-
ip + 设备 限制发送次数