跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 求助,怎么防止 API 接口被刷
未分類
2020 年 6 月 29 日

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

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

資深大佬 : oldManPushCar666 11

我们公司线上服务这几天有一个不需要登陆的接口总是遭到别人的恶意高频刷,对方使用的是高匿代理 ip,所以查不到对方的真实 ip 。有没有大佬知道有什么好方法呢?(产品说加验证码影响用户体验,所以加验证码的方式暂时不考虑)
大佬有話說 (37)

  • 資深大佬 : RJH

    根据 IP 搞个限流试一下,例如每个 IP 每分钟请求 60 次之类,这个你可以根据业务来估算一下。

  • 資深大佬 : liamyoung

    接口加签名

  • 主 資深大佬 : oldManPushCar666

    还有一个问题,这种刷我们接口的应该可以算不正当竞争,他们造成了我们的网站加载慢,甚至打不开的话,可以通过报网警可以抓到他们吗?

  • 資深大佬 : hicdn

    公开 API 只能对 IP 限制频率

  • 資深大佬 : raynor2011

    根据浏览器特征机器特征过滤垃圾流量

  • 資深大佬 : xooass

    @oldManPushCar666 既然是匿名 IP 怎么抓,不是 xxx 督办的事情他们不会费劲去查 IP 的,那么容易被查到的话,就没人冒险去刷你了

  • 資深大佬 : di1012

    请求环境限制,机器刷和正常环境请求还是有区别的

  • 資深大佬 : Vegetable

    代理 IP 才能有多少个?没有什么代理能够承受的住高频刷的,你根据 IP 限流就好了。

  • 資深大佬 : Ariver

    可以在访问你们页面的时候服务器生成一个一次性的 token,然后请求你们这个 api 的时候必须带上这个 token.
    —–
    然后在这个 token 生成的时候你应该就有很多方法来区分正常的用户和恶意的了。

  • 資深大佬 : af463419014

    1.不需要登录的接口,只能用 ip 限频率
    2.可以给接口在前端加一些签名校验,虽然是防君子不防小人,但在减小流量上还是有一些用的
    2.如果是考虑到服务器负载影响其他接口,可以把登录后的接口和不需要登录的接口分开部署.保证登录后的接口稳定

  • 資深大佬 : locoz

    1 、如果量非常大,已经影响正常服务了,那可以直接报警,警察可以顺着 IP 查到代理 IP 商,并且通过代理 IP 商找到对应的人。
    2 、如果量没有大到那种程度,但有一定的影响,那就看情况使用设备指纹 / 无感知验证码服务 或 自己搞高难度加密参数。
    3 、按照正常用户的使用情况进行限流,每分钟 /每 xx 分钟 x 次,简单粗暴。

  • 資深大佬 : locoz

    @Vegetable #8 稍微大点的代理 IP 商手上都有个几千万 IP 的池子,IP 还是一直在更新的…“才能有多少个”有点太天真了 求助,怎么防止 API 接口被刷

  • 資深大佬 : xingyue

    @locoz 几千万?

  • 資深大佬 : renmu123

    如果有的话,那爬虫工程师都得失业了

  • 資深大佬 : Vegetable

    @locoz #12 说啥呢啊,IP 是海边的沙子随便捡吗?不花钱买的吗?

  • 主 資深大佬 : oldManPushCar666

    @Vegetable 代理确实是需要成本的,但是刷我们接口人每天更换 ip1000 个左右还是有的

  • 資深大佬 : sparrww

    @Vegetable 随便一个 ip 代理商没个万把 ip,能拿得出手运营吗。你以为用自己的机器,没几个 ip 吗

  • 資深大佬 : shanghai1998

    阿里云 WAF 了解下,是钱可以解决的问题

  • 資深大佬 : Vegetable

    @oldManPushCar666 #16 一千个 IP,每分钟可用 IP 数量不到 1 个。该接口每个 IP 限速一分钟不得超过 10 次,20 次,60 次,这样你系统能负担的了吗?

  • 資深大佬 : locoz

    @xingyue #13
    @Vegetable #15
    确实就是“几千万 IP”,你们没有看错…只是有些是他们一天刷出来的量、有些是他们一小时刷出来的量、有些是实时可用的就有几千万,“稍微大点的代理 IP 商”对应的是一天刷出来的量有几千万。
    别觉着一天几千万少…光是 2000WIP 就能做到一秒 200+并发地刷都不带重复的了 求助,怎么防止 API 接口被刷

  • 資深大佬 : Vegetable

    @locoz #20 这样的产品价格都挺感人了吧,我有的产品同时可用的就 3~5 个,正常使用其实都够了

  • 資深大佬 : locoz

    @locoz #20 补充一下,之前我有篇文章介绍过(国内)代理 IP 商们的 IP 来源,可以看看: https://mp.weixin.qq.com/s/926AKX_EVQNmthBBTpWS4Q

    另外按 @oldManPushCar666 #16 的说法,1000 个左右的程度基本可以忽略,用限流的方式就可以简单粗暴地解决。

  • 資深大佬 : locoz

    @Vegetable #21 200+并发还好吧,隧道代理一般对应的价位是一个月 1-3W

  • 資深大佬 : DJQTDJ

    可以在你所说的那个不需要登陆的窗口里面安装 google recaptcha 或者你重写一个也行,安全等级设定为最高

  • 資深大佬 : DJQTDJ

    @DJQTDJ 再就是你装证明书,安装签名,机器地址 ip 过滤,把借口变成只有服务器本地才能用,顺便外面弄个类给套上。

  • 資深大佬 : suckli

    鉴权+根据真实使用场景限制频率

  • 資深大佬 : NoString

    签名认证 apiKey ip 请求池 完整 api 网关都有这些功能的

  • 資深大佬 : zgzhang

    @oldManPushCar666 你们的产品怕不是没被锤过,这个情况最合理的方式是针对 99%的正常用户不谈验证码,剩下的高频访问 IP 怎么恶心怎么来,验证码+返回裁剪+投毒

  • 資深大佬 : zgzhang

    说个真实的例子,用户注册登录的接口,产品经理打着用户体验的大旗,不让加验证码甚至拒绝接入风控+验证码的方案,上线一个周被刷了几 W 块,后面半夜给我们打电话声音都是抖的

  • 資深大佬 : hopingtop

    对于高频访问 IP,直接返回缓存数据或者投毒,让调用者认为他目的达到就行了。玩心理战, 代理池也是有一定成本的。对方大概率不会每次请求就使用代理。特别是当他访问畅通时。代理可能就不会用。

  • 資深大佬 : akira

    任何防刷都是 提高对方的成本 , 验证码是最基本的一条。。

  • 資深大佬 : locoz

    @zgzhang #29 哈哈哈哈哈哈被刷了几万块就很惨

  • 資深大佬 : dallaslu

    接口要加验证码????

  • 資深大佬 : cest

    @locoz #32 开了一周才检查
    里应外合
    各种花式坑金主
    坑完再装傻白甜,再坑几次,能坑多少算多少

  • 資深大佬 : locoz

    @dallaslu #33 像阿里就有这种操作,风控检测到异常时接口直接给你返回个验证码链接…

  • 資深大佬 : locoz

    @cest #34 牛逼

  • 資深大佬 : mmdsun

    Google reCAPTCHA v3 用户无感知验证码

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具