java接口怎么防止被刷

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java接口怎么防止被刷相关的知识,希望对你有一定的参考价值。

参考技术A 为什么会有人要刷接口?
1、牟利

黄牛在 12306 网上抢票再倒卖。

2、恶意攻击竞争对手

如短信接口被请求一次,会触发几分钱的运营商费用,当量级大了也很可观。

3、压测

用 apache bench 做压力测试。

4、当程序员无聊的时候

什么是刷接口的"刷"字?
1、次数



2、频率

频繁,可能 1 秒上千次

3、用户身份难以识别

可能会在刷的过程中随时换浏览器或者 ip

判断接口是否是恶意?
根据用户粒度,如果该用户符合上面提到的“刷”的概念,就是恶意的。

用户粒度如何划分?
1、当前网页

优点:无
缺点:没有任何意义,一刷新页面用户的身份就变了

2、session

优点:伪造成本一般(可以理解成一个浏览器对应了一个用户)
缺点:当用户手动清除 cookie 的时候即失效

3、ip

优点:伪造成本高
缺点:要考虑一个公司、一个小区的人一般会共享一个 ip,所以适当的要放宽对单一 ip 的请求限制

ip 信息是存在请求头里的,而 https 对请求本身做了加密,可以防止 ip 信息被伪造或篡改。所以推荐服务器采用 https 传输。

当知道接口是恶意请求时,我们该怎么做?
一、直接拒绝访问

优点:简单粗暴
缺点:简单粗暴

二、返回“操作频繁”的错误提示

优点:提示友好
缺点:会把确实是操作比较频繁的真实用户拦截

三、验证码

1、图形



2、滑块



3、找不同



优点:精准识别请求是真人还是机器发出的,二次筛选出真正的用户
缺点:不够人性化,用户操作时间长、体验差

4、限制ip

客户端请求的时候 , 把ip记录下来,每次访问这个ip访问次数+1,如果查过制定次数,把这个ip拉黑

实例:https://blog.csdn.net/DuTianTian_csdn/article/details/81277189

安全问题是长期的和攻击者斗智斗勇的问题,没有一劳永逸的解决方案,不断交锋,不断成长

discuz防止被刷评论导致数据库爆满

discuz源码后台功能是非常的强大的,安全性也是比其他php源码做得好,但是其他的安全就要看站长朋友怎么去设置了,下面鼎峰阿D就来谈谈怎么去防止数据库爆满!
首先登录后台—防灌水–帐号保镖,然后按照如图所示设置一下点击提交就可以了:

设置站点所有的验证的码 该加的都把它加上,这样就安全许多了,然后点击提价就可以了,如图所示:

这样就给我们的站点加固了,也防止被刷的可能。交流QQ“2881064157”

以上是关于java接口怎么防止被刷的主要内容,如果未能解决你的问题,请参考以下文章

1024技术干货 ~ Java如何防止接口重复提交

Java编程:API接口防止重放攻击(重复攻击)

如何防范短信接口被恶意调用(被刷)(转)

discuz防止被刷评论导致数据库爆满

discuz防止被刷评论导致数据库爆满

java写的接口怎么调用