lixuda
V2EX  ›  问与答

如果不用验证码,表单提交页面能否尽量避免机器刷?

  •  
  •   lixuda · Dec 5, 2019 · 4275 views
    This topic created in 2529 days ago, the information mentioned may be changed or developed.

    各位大神,求教下 有 1 个表单页面(非手机端),为了避免被机器人刷单,又不想用验证码,有什么好的办法吗? 微信,手机号码验证除外,谢谢大家

    Supplement 1  ·  Dec 5, 2019
    感谢大家,只是小站,不想弄太复杂,正常用户不会太多发布内容,所以就没有限制。但是现在发现大量机器人会扫描,然后纯发布广告或者不良信息,我改了页面,没有多久还会来发布
    16 replies  •  2019-12-13 11:53:17 +08:00
    izoabr
    izoabr
    Dec 5, 2019
    1
    这东西道高一尺魔高一丈
    CSRF
    限制但 IP POST 频率
    计算题
    选图
    拼图
    之类的吧
    locoz
    locoz
    Dec 5, 2019
    2
    有能锁死用户的唯一识别码(比如账号)就行,结合风控可以做到不用验证码,但是你又说微信、手机号码验证除外。
    locoz
    locoz
    Dec 5, 2019
    3
    没有的话就用那种无感验证(比如 reCAPTCHAv3 那种后台检测、打分的)吧,能在尽量不出验证码的情况下提高刷的门槛。
    manami
    manami
    Dec 5, 2019
    4
    js 写个定时器,限制一段时间内提交操作
    rogwan
    rogwan
    Dec 5, 2019 via iPhone
    5
    一般情况,限制下 IP 频率就可以了。价值非常高的 post,你肯定是要有账号系统的吧
    imdong
    imdong
    Dec 5, 2019❤️1
    6
    用客户端挖矿即可。
    Torpedo
    Torpedo
    Dec 5, 2019
    7
    往客户端的方向走吧。
    客户端接口大部分都是有 token 的。客户端代码重混淆,或者会用 c++。
    那么同理,js 也可以和后端约定基于 token 的加密算法。
    混淆的话,uglify 当然太简单了,可以使用 javascript-obfuscator
    一定程度可以防止
    ech2o
    ech2o
    Dec 5, 2019
    8
    限制同一 ip 在指定时间内重复提交
    lorryo
    lorryo
    Dec 5, 2019
    9
    @manami 前端限制没用。
    wangkun025
    wangkun025
    Dec 5, 2019
    10
    cloudflare 欢迎你
    berumotto
    berumotto
    Dec 5, 2019❤️1
    11
    我们应该换个思路,表单页面只允许机器刷,判断如果是人为提交就阻止他。这样人们就会想尽办法做出模拟人为提交的方式,从而反向达到防刷的效果~(逃
    hostpai
    hostpai
    Dec 5, 2019
    12
    随便什么验证码,都能机器刷
    ClarkAbe
    ClarkAbe
    Dec 5, 2019 via Android
    13
    让客户端计算随机指定前缀的哈希
    340244120w
    340244120w
    Dec 5, 2019 via iPhone
    14
    注册的时候用手机号或者微信绑定呗。加上一次性表单 token,短时间提交次数超过前端限制的,直接封号。
    游客也能提交表单的话,验证码啥的这类简单的都嫌麻烦,要防止估计做梦都想不出来。
    至于说绑定 ip 的,了解下国内有多少公网 ip 吧。
    lands
    lands
    Dec 5, 2019
    15
    @manami 机器人都是直接走接口的
    tjx20114
    tjx20114
    Dec 13, 2019
    16
    从机器人的角度考虑,
    1. 能走尽量走接口
    2. 使用不同 ip 来提交不同表单
    防刷思路:
    1. cookies 验证,记录 refer 等,验证不通过就跳转回主页,防止机器人直接访问接口,应该会过滤掉大量直接扫描接口提交的机器人
    2. 找到机器人提交的表单的特征, 如 文本内容里面有广告? 有手机号?等过滤
    完全避免:
    1. 强验证码
    2. 登录
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1698 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 05:29 · PVG 13:29 · LAX 21:29 · JFK 00:29
    ♥ Do have faith in what you're doing.