对比

永不弹出验证的 reCAPTCHA 替代方案

reCAPTCHA 在转化率和数据暴露上真正让你付出了什么、它的评分在哪里力有不逮,以及信誉评分在实践中有何不同。

团队为什么开始另寻他法

几乎没有人因为 reCAPTCHA 拦不住机器人而更换它。更换它的三个理由,都与检测质量无关。

转化率。每一次交互式验证都是转化漏斗里的一环,总有一部分真实客户会在那里离开。在结账或注册环节,这种流失是可测量的,而且是永久的——放弃的人不会再回来重做那道题。

无障碍。图片九宫格和音频验证对视觉或运动障碍用户是一道门槛,而「选出所有巴士」会难住所有没见过美国校车的人。这在越来越多的司法辖区已是合规问题。

数据流向。reCAPTCHA 会把访客信号发送给 Google,并与 Google 自己的广告身份图谱相关联。对欧洲运营者而言,这是一次需要评估的传输、一个需要具名的处理者、一份需要签署的数据处理协议——而且越来越常成为客户签约前会问的问题。

评分模型在哪里力有不逮

reCAPTCHA v3 返回一个 0.0 到 1.0 之间的分数,把决定权留给你。这听上去很灵活,实践中却带来两个问题。

分数是不透明的。你看不到是哪些信号产生了它,所以当一位真实客户得到 0.1 分时,你没有任何可查的线索,也没有任何可调的旋钮。客服收到一张你无法回答的工单。

阈值要靠你自己猜。设得严,你会拦住客户;设得松,你会放过机器人。多数团队定下一个数字后就再没回头看过,因为没有任何反馈回路告诉他们这个数字的代价。

而低分只有一种内建的补救办法:弹出验证。你又回到了那个本想去掉的漏斗环节。

Karma 的做法有何不同

Karma 评分的是地址,而不只是会话,而且它从不退回到弹验证。

信号来自两层。行为层:会话与页面的真实交互方式。传输层:JA3/JA3N TLS 指纹与 HTTP/2 设置,它们标识客户端技术栈,比 user-agent 字符串难伪造得多。

判定送往你的网关,由网关自己放行真人、拦下机器人。你的页面里没有插页、没有拼图,也没有第三方 iframe。

而且这个决定是可解释的:面板会展示每一次判定背后的信号,因此一次有争议的拦截是你可以查看的东西,而不是只能接受的结果。

并排对比

诚实的对比,也包括 reCAPTCHA 确实领先的地方:

reCAPTCHA v3Karma
可见验证低分时出现从不
使用的信号行为信号,不透明行为 + TLS/HTTP2 指纹
决定是否可解释只有分数每次判定展示信号
拦截执行需你自行基于分数搭建在你的网关上,基于判定
跨站点信誉Google 内部你自己的信誉库 + 共享名单(自愿加入)
数据流向Google仅 Karma 采集端
价格配额内免费,之后按次评估计费25,000 次判定内免费,之后按套餐计费
成熟度部署量非常大更小、更新

无需切换日的迁移

你不必在第一天就做出选择,也不该那样做。

把 Karma 的代码片段与 reCAPTCHA 并列加上,并保持拦截关闭。这就是 Detect 套餐,不花一分钱。用一两周时间,两套系统看到相同的流量,你在那些能真正识别身份的会话上——已完成的订单、已知的老客户、你早就知道的那个爬虫——把判定与 reCAPTCHA 的分数作比较。

当判定看起来无误时,在网关上打开拦截并移除 reCAPTCHA 调用。你的放行与拒绝名单始终高于平台判定,因此你依赖的合作方或爬虫可以在你切换任何东西之前先行固定下来。

FAQ

有不弹出验证的 reCAPTCHA 替代方案吗?
有——这个品类通常被称为无感式或基于信誉的机器人识别。Karma 依据行为信号和传输层信号为每个会话评分,并把判定交给你的网关,由网关自己放行或拦下请求。访客那边永远不会看到任何东西,因此不存在会流失用户的漏斗环节。
团队为什么要离开 reCAPTCHA?
很少是因为检测质量。通常的三个原因是:每次验证带来的转化流失、对视觉或运动障碍用户的无障碍门槛,以及流向 Google 的数据——在 GDPR 之下,那是一次需要评估的传输和一个需要具名的处理者。
reCAPTCHA v3 的分数问题出在哪?
它不透明,而阈值要靠你猜。你看不到是哪些信号产生了分数,所以一位得 0.1 分的真实客户不会给你任何可查的线索;而低分唯一的内建补救办法是弹出验证,这又把你本想去掉的漏斗环节装了回来。
可以同时运行 Karma 和 reCAPTCHA 吗?
可以,而且这是合理的迁移方式。加上 Karma 的代码片段并保持拦截关闭——那就是免费的 Detect 套餐——用一两周时间,在你能识别身份的流量上把判定与 reCAPTCHA 分数作比较。只有在判定让你觉得无误时,再打开拦截。