接口被刷,通常表现为如下两种:缓存
一、数据含有敏感词 或者 广告;网络
二、一分钟产生大量相似数据;post
经过access.log分析,能够分析出以下两个截图结果:优化
IP1从某时间段总共请求接口6489次,占总应用访问率97.286次。spa
IP1每分钟请求接口的次数,10几回-20几回,甚至是20次+,这个统计结果很明显是机器刷数据了,普通网友不可能达到如此速度。.net
有这种状况,可采起如下两种处理方案:blog
方案1:经过网络层封掉IP,若是用此方案处理,则该IP不能访问该应用或者说是本公司露出的全部应用【处理方式较狠】;接口
方案2:对同一IP加些限制,通常表现为对IP进行限速ip
==>对同一IP来源同一URL进行限速get
==>对同一IP来源进行限速
对IP作限速至关因而不能让如此速度快(即机器提交的速度)的提交代码,即防止机器刷数据
具体配置参数==》http://my.oschina.net/xsh1208/blog/657342
实现方式有多种,经常使用的方式是记录单次提交成功的单个用户/ip放到mc里面,而后给mc设定2分钟的缓存时间。下次该用户/ip提交数据的时候先查mc是否已过时,没过时,则不给提交;
例如能够post数据的权限限制为帐号必须经过邮箱激活或者手机号已经被激活了等等处理
分析数据可知,大部分数据含有特殊字符(例如前面截图中用横线标识出的字符),须要对该类数据进行过滤;
此处可把数据提交到公司公共的审核平台给机器或者人工审核;
【根据业务须要设置,毕竟审核平台可能会拦截了大部分真实的数据,或者拦截不到须要拦截的数据】
【通常考虑发送审核平台不能实时显示数据,会采起先出后审的方式,即问题提交成功后,即显示,等到审核不经过,则会被关闭数据 ==》这块业务可优化为:特别针对被刷的接口,提交数据后,调整方案为 先审后出,即只有审核经过才能显示】
若是有加IP记录,则可直接经过后台统计出批量刷数据的IP,能够在后台优先把IP禁掉了