应用(接口)被刷的解决方案(接口防止机器刷数据的处理方案)

一.接口被刷表现方式

接口被刷,通常表现为如下两种:缓存

一、数据含有敏感词 或者 广告;网络

二、一分钟产生大量相似数据;post

 

二.防刷处理步骤1:网络层拦截

经过access.log查出是否有密集的IP请求应用被刷的接口,若有则封IP 或者 限速【有效】

经过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 

 

三.防刷处理步骤2:程序拦截

 
一、对单个用户/ip限制每分钟最多提交的次数【有效】

实现方式有多种,经常使用的方式是记录单次提交成功的单个用户/ip放到mc里面,而后给mc设定2分钟的缓存时间。下次该用户/ip提交数据的时候先查mc是否已过时,没过时,则不给提交;

二、对提交数据资格进行加严

例如能够post数据的权限限制为帐号必须经过邮箱激活或者手机号已经被激活了等等处理

三、对敏感词/广告词/特殊字符进行过滤

分析数据可知,大部分数据含有特殊字符(例如前面截图中用横线标识出的字符),须要对该类数据进行过滤;

四、数据审核

此处可把数据提交到公司公共的审核平台给机器或者人工审核;

【根据业务须要设置,毕竟审核平台可能会拦截了大部分真实的数据,或者拦截不到须要拦截的数据】

【通常考虑发送审核平台不能实时显示数据,会采起先出后审的方式,即问题提交成功后,即显示,等到审核不经过,则会被关闭数据 ==》这块业务可优化为:特别针对被刷的接口,提交数据后,调整方案为 先审后出,即只有审核经过才能显示】

五、添加访问IP记录

若是有加IP记录,则可直接经过后台统计出批量刷数据的IP,能够在后台优先把IP禁掉了

相关文章
相关标签/搜索