秒杀项目 安全优化笔记

秒杀接口地址隐藏

防机器人

  1. 写一个接口以获取秒杀地址,接口中使用如用户ID+商品ID为key,value为UUID字符串设置到redis中,以便在第2步校验url是否正确,并返回UUID生成的字符串
  2. 拿到第1步生成的UUID字符串发送给真正的秒杀接口,校验UUID是否正确,若正确则继续秒杀接口逻辑

 

数学公式图形验证码

分散用户请求,防机器人

 

接口限流防刷

一段时间内访问接口数量 超过次数访问拒绝,

 

主要使用注解拦截器实现,使用request.getRequestURI()获取接口url 为key 访问次数为value 放入redis,在拦截器中通过获取redis的值decr 来限流

Integer count = redisService.get(ak, key, Integer.class);

     if(count  == null) {

      redisService.set(ak, key, 1);

     }else if(count < maxCount) {

      redisService.incr(ak, key);

     }else {

     render(response, CodeMsg.ACCESS_LIMIT_REACHED);

     return false;

     }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值