# 用户和api操作的限制
# 用户身份
IP 设备序号 用户id 用户手机设备cid 可伪造 不用于识别用户
# 硬件设备
# 根据ip限制
单ip 单位分钟只可以查询 N次数据库 单i 单位时间内 只可以查询N次 redis <> 包括上传数据
# 根据mac限制
即便是有效的mac 单位时间内只可以操作N次redis
# 用户app
# 根据IP
单ip 单位时间内 只可以查询N次数据库检查用户密码 单ip 单位时间内 只可以查询N次redis检查用户密码
# 根据用户id
单用户 单位时间内只可以查N次redis 单用户 单位时间内只可以查N次redis
# 根据设备和app区分
# 设备上报日志 获取返回值
查询redis 根据ip 限制 1分钟内400次 limit.dev.redis.ip.xxx.m. 根据mac 限制 1分钟内40次 limit.dev.redis.mac.xxx.m. 查询数据库 根据ip限制 1分钟内60次 limit.dev.mysql.ip.xxx.m. 根据mac 限制 1分钟内1次 limit.dev.mysql.mac.xxx.m.
# APP = > 登录 和 用id token检查登录
查询redis 根据ip 限制 1分钟内120次 limit.app.login.redis.ip.xxx.m. 查询数据库 根据ip限制 1分钟内100次 limit.app.login.mysql.ip.xxx.m.
# APP => 获取手机验证码
手机号要先存在
查询数据库 根据ip 限制 1分钟内120次 limit.app.sms.mysql.ip.xxx.m. 发送SMS
1分钟内1次 limit.app.sms.phone.xxx.m. 1天3次 limit.app.sms.phone.xxx.day.
# App => 获取设备日志
根据IP 查询用户日志 1分钟限制600次 limit.app.getlog.redis.ip.xxx.m. 1小时限制3600次 limit.app.getlog.redis.ip.xxx.hour. 根据用户id 1分钟限制600次 limit.app.getlog.redis.userid.xxx.m.
# App => 常规操作
根据IP 查询操作redis
1分钟600次 limit.other.redis.ip.xxx.m. 1小时3600次 limit.other.redis.ip.xxx.hour. 查询操作数据库 1分钟600次 limit.other.mysql.ip.xxx.m. 1小时3600次 limit.other.mysql.ip.xxx.m.