求助,怎么防止 API 接口被刷

2020-06-10 09:49:37 +08:00
 oldManPushCar666
我们公司线上服务这几天有一个不需要登陆的接口总是遭到别人的恶意高频刷,对方使用的是高匿代理 ip,所以查不到对方的真实 ip 。有没有大佬知道有什么好方法呢?(产品说加验证码影响用户体验,所以加验证码的方式暂时不考虑)
7244 次点击
所在节点    信息安全
39 条回复
RJH
2020-06-10 10:01:08 +08:00
根据 IP 搞个限流试一下,例如每个 IP 每分钟请求 60 次之类,这个你可以根据业务来估算一下。
liamyoung
2020-06-10 10:31:17 +08:00
接口加签名
oldManPushCar666
2020-06-10 10:31:50 +08:00
还有一个问题,这种刷我们接口的应该可以算不正当竞争,他们造成了我们的网站加载慢,甚至打不开的话,可以通过报网警可以抓到他们吗?
hicdn
2020-06-10 10:50:47 +08:00
公开 API 只能对 IP 限制频率
raynor2011
2020-06-10 10:51:38 +08:00
根据浏览器特征机器特征过滤垃圾流量
xooass
2020-06-10 11:07:44 +08:00
@oldManPushCar666 既然是匿名 IP 怎么抓,不是 xxx 督办的事情他们不会费劲去查 IP 的,那么容易被查到的话,就没人冒险去刷你了
di1012
2020-06-10 11:21:45 +08:00
请求环境限制,机器刷和正常环境请求还是有区别的
Vegetable
2020-06-10 11:24:27 +08:00
代理 IP 才能有多少个?没有什么代理能够承受的住高频刷的,你根据 IP 限流就好了。
Ariver
2020-06-10 11:24:34 +08:00
可以在访问你们页面的时候服务器生成一个一次性的 token,然后请求你们这个 api 的时候必须带上这个 token.
-----
然后在这个 token 生成的时候你应该就有很多方法来区分正常的用户和恶意的了。
af463419014
2020-06-10 11:29:12 +08:00
1.不需要登录的接口,只能用 ip 限频率
2.可以给接口在前端加一些签名校验,虽然是防君子不防小人,但在减小流量上还是有一些用的
2.如果是考虑到服务器负载影响其他接口,可以把登录后的接口和不需要登录的接口分开部署.保证登录后的接口稳定
locoz
2020-06-10 12:46:28 +08:00
1 、如果量非常大,已经影响正常服务了,那可以直接报警,警察可以顺着 IP 查到代理 IP 商,并且通过代理 IP 商找到对应的人。
2 、如果量没有大到那种程度,但有一定的影响,那就看情况使用设备指纹 / 无感知验证码服务 或 自己搞高难度加密参数。
3 、按照正常用户的使用情况进行限流,每分钟 /每 xx 分钟 x 次,简单粗暴。
locoz
2020-06-10 12:51:08 +08:00
@Vegetable #8 稍微大点的代理 IP 商手上都有个几千万 IP 的池子,IP 还是一直在更新的...“才能有多少个”有点太天真了
xingyue
2020-06-10 13:02:12 +08:00
@locoz 几千万?
renmu123
2020-06-10 13:07:26 +08:00
如果有的话,那爬虫工程师都得失业了
Vegetable
2020-06-10 13:23:55 +08:00
@locoz #12 说啥呢啊,IP 是海边的沙子随便捡吗?不花钱买的吗?
oldManPushCar666
2020-06-10 13:58:17 +08:00
@Vegetable 代理确实是需要成本的,但是刷我们接口人每天更换 ip1000 个左右还是有的
sparrww
2020-06-10 14:04:12 +08:00
@Vegetable 随便一个 ip 代理商没个万把 ip,能拿得出手运营吗。你以为用自己的机器,没几个 ip 吗
C603H6r18Q1mSP9N
2020-06-10 14:05:10 +08:00
阿里云 WAF 了解下,是钱可以解决的问题
Vegetable
2020-06-10 14:07:19 +08:00
@oldManPushCar666 #16 一千个 IP,每分钟可用 IP 数量不到 1 个。该接口每个 IP 限速一分钟不得超过 10 次,20 次,60 次,这样你系统能负担的了吗?
locoz
2020-06-10 14:09:45 +08:00
@xingyue #13
@Vegetable #15
确实就是“几千万 IP”,你们没有看错...只是有些是他们一天刷出来的量、有些是他们一小时刷出来的量、有些是实时可用的就有几千万,“稍微大点的代理 IP 商”对应的是一天刷出来的量有几千万。
别觉着一天几千万少...光是 2000WIP 就能做到一秒 200+并发地刷都不带重复的了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/680233

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX