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

2020 年 6 月 10 日
 oldManPushCar666
我们公司线上服务这几天有一个不需要登陆的接口总是遭到别人的恶意高频刷,对方使用的是高匿代理 ip,所以查不到对方的真实 ip 。有没有大佬知道有什么好方法呢?(产品说加验证码影响用户体验,所以加验证码的方式暂时不考虑)
8207 次点击
所在节点    信息安全
39 条回复
Vegetable
2020 年 6 月 10 日
@locoz #20 这样的产品价格都挺感人了吧,我有的产品同时可用的就 3~5 个,正常使用其实都够了
locoz
2020 年 6 月 10 日
@locoz #20 补充一下,之前我有篇文章介绍过(国内)代理 IP 商们的 IP 来源,可以看看: https://mp.weixin.qq.com/s/926AKX_EVQNmthBBTpWS4Q

另外按 @oldManPushCar666 #16 的说法,1000 个左右的程度基本可以忽略,用限流的方式就可以简单粗暴地解决。
locoz
2020 年 6 月 10 日
@Vegetable #21 200+并发还好吧,隧道代理一般对应的价位是一个月 1-3W
DJQTDJ
2020 年 6 月 10 日
可以在你所说的那个不需要登陆的窗口里面安装 google recaptcha 或者你重写一个也行,安全等级设定为最高
DJQTDJ
2020 年 6 月 10 日
@DJQTDJ 再就是你装证明书,安装签名,机器地址 ip 过滤,把借口变成只有服务器本地才能用,顺便外面弄个类给套上。
suckli
2020 年 6 月 10 日
鉴权+根据真实使用场景限制频率
NoString
2020 年 6 月 10 日
签名认证 apiKey ip 请求池 完整 api 网关都有这些功能的
zgzhang
2020 年 6 月 10 日
@oldManPushCar666 你们的产品怕不是没被锤过,这个情况最合理的方式是针对 99%的正常用户不谈验证码,剩下的高频访问 IP 怎么恶心怎么来,验证码+返回裁剪+投毒
zgzhang
2020 年 6 月 10 日
说个真实的例子,用户注册登录的接口,产品经理打着用户体验的大旗,不让加验证码甚至拒绝接入风控+验证码的方案,上线一个周被刷了几 W 块,后面半夜给我们打电话声音都是抖的
hopingtop
2020 年 6 月 10 日
对于高频访问 IP,直接返回缓存数据或者投毒,让调用者认为他目的达到就行了。玩心理战, 代理池也是有一定成本的。对方大概率不会每次请求就使用代理。特别是当他访问畅通时。代理可能就不会用。
akira
2020 年 6 月 10 日
任何防刷都是 提高对方的成本 , 验证码是最基本的一条。。
locoz
2020 年 6 月 10 日
@zgzhang #29 哈哈哈哈哈哈被刷了几万块就很惨
dallaslu
2020 年 6 月 10 日
接口要加验证码????
cest
2020 年 6 月 10 日
@locoz #32 开了一周才检查
里应外合
各种花式坑金主
坑完再装傻白甜,再坑几次,能坑多少算多少
locoz
2020 年 6 月 10 日
@dallaslu #33 像阿里就有这种操作,风控检测到异常时接口直接给你返回个验证码链接...
locoz
2020 年 6 月 10 日
@cest #34 牛逼
mmdsun
2020 年 6 月 10 日
Google reCAPTCHA v3 用户无感知验证码
chipuheado
2020 年 6 月 13 日
他们刷东西的代理 ip 应该都在 cf 黑名单上,检测到就会要求 recaptcha
ximoer007
2020 年 6 月 16 日
上专业的 API 网关进行防护

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

https://study.congcong.us/t/680233

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

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

© 2021 V2EX