V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Coulson6
V2EX  ›  问与答

如何做未登录接口的防刷功能?

  •  
  •   Coulson6 · 2020-03-19 14:46:22 +08:00 · 2854 次点击
    这是一个创建于 1497 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,场景是在各种环境下 如:小程序、H5、客户端,聚焦在两个问题

    1 )识别出用户;

    2 )识别出用户在刷接口;

    问题主要集中在 ( 1 ) ,ip 识别容易导致误封 影响大片共用 ip 的用户。

    12 条回复    2020-03-21 06:03:04 +08:00
    fancy111
        1
    fancy111  
       2020-03-19 14:51:17 +08:00
    这可是个难题,验证码都换了多少代了,还是可以刷。
    optional
        2
    optional  
       2020-03-19 16:56:59 +08:00
    微信体系最简单,登录后直接拿 id 做限流就好。
    H5 没啥好办法,只能上验证码。按 ip 其实是最简单的,但是有误杀的风险。
    boyhailong
        3
    boyhailong  
       2020-03-19 17:08:31 +08:00
    限流 了解一下
    Vegetable
        4
    Vegetable  
       2020-03-19 17:15:54 +08:00
    产生费用的接口往往是比较低频的——短信验证码。这种接口被刷是有可见的成本的,那就各种图形验证码,IP 限流第三方风控拉满。
    没有什么成本的接口就单纯限流呗,其实我觉得封 IP 并不是什么问题,不是什么国民应用想误伤也没那么容易...
    可以学习抖音这种,注册设备 ID 之后依据这个限流,小程序其实更简单 ID 就完了。
    dtsdao
        5
    dtsdao  
       2020-03-19 17:33:06 +08:00
    IP+UA 标识用户,加点验证码
    我觉得 UA 标识有时比 IP 要更靠谱一点,毕竟挂代理还是比较简单的
    tmsdy0404
        6
    tmsdy0404  
       2020-03-19 17:57:08 +08:00
    @dtsdao 感觉 import fake_useragent 也不复杂。。。
    Mutoo
        7
    Mutoo  
       2020-03-19 18:06:43 +08:00 via iPhone
    访问第一页数据的时候给一个 token,只有用这个 token 才可以反问下一页,然后类推。不管你怎么换 UA 还是 IP,都没有意义,令牌就是身份标识。然后结合统计限流即可。
    azh7138m
        8
    azh7138m  
       2020-03-19 19:58:18 +08:00 via Android
    @Mutoo 那我反复请求 token 咋整?
    lshero
        9
    lshero  
       2020-03-19 20:25:04 +08:00
    @azh7138m 验证码增加自动获取 token 的难度呗
    areless
        10
    areless  
       2020-03-19 20:28:34 +08:00
    你把要刷的用户转给我,刷我的接口。有人刷还不好。还防。17、18 年前我建的论坛深夜常常有几个妹子灌水,我看的开心死还来不及,还防,不切实际。
    Whsiqi
        11
    Whsiqi  
       2020-03-19 20:36:34 +08:00 via Android
    @areless 你怎么知道是妹子,而不是女装?
    Mutoo
        12
    Mutoo  
       2020-03-21 06:03:04 +08:00 via iPhone
    @azh7138m 那也只能刷前几页的少量数据。如果想刷之后的数据必然会被跟踪,限制频率。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1446 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 23:54 · PVG 07:54 · LAX 16:54 · JFK 19:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.