# yuncang-test **Repository Path**: ccccggg/yuncang-test ## Basic Information - **Project Name**: yuncang-test - **Description**: 原题:遇到恶意刷单或者系统被注水的情况。为保护开放接口不被恶意调用,请设计一个方案,对恶意接口请求流量做区分,同时不能影响对正常访问用户。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2022-10-13 - **Last Updated**: 2022-10-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # yuncang-test #### 介绍 原题:遇到恶意刷单或者系统被注水的情况。为保护开放接口不被恶意调用,请设计一个方案,对恶意接口请求流量做区分,同时不能影响对正常访问用户。 **解决方案** 为了恶意刷单注水,需要对IP进行限流处理。这里简单采用计数器进行判断刷单情况: 1. 在redis缓存中设置IP的访问次数,当某一时间段内请求次数超过限制值,则加入黑名单集合中。 2. 限流操作为非业务相关操作,可通过AOF 或者 注解抽离出来。提高代码利用性。这里使用注解和拦截器进行处理。 **项目运行** 修改下redis配置即可访问:localhost:9999/test