迁移指南

从 Arkose FunCAPTCHA 迁移到 CaptchaLa

卸下 SDK 体积、终结企业合约、保留自适应机器人防御。迁移只需换一段 script、改一个验证端点。

AArkose / FunCAPTCHACurrent setup~10 minCaptchaLaDrop-in target

代码改动长这样

Before — Arkose / FunCAPTCHA
<script src="https://YOUR_PUBLIC_KEY.arkoselabs.com/v2/YOUR_PUBLIC_KEY/api.js" data-callback="onSuccess" async defer></script>
<script>
  function onSuccess(token) {
    document.getElementById('arkose-token').value = token
  }
</script>
<input type="hidden" id="arkose-token" name="arkose-token" />
After — CaptchaLa
<button id="login-btn">Sign in</button>
<script src="https://cdn.captcha-cdn.net/captchala-loader.js"></script>
<script>
  loadCaptchala(() => Captchala.init({ appKey: 'YOUR_APP_KEY', action: 'login' })
    .onSuccess(res => onToken(res.token))
    .bindTo('#login-btn'));
</script>
Before — Arkose server verify (Node)
const res = await fetch('https://verify-api.arkoselabs.com/api/v4/verify/', {
  method: 'POST',
  headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
  body: new URLSearchParams({
    private_key: process.env.ARKOSE_PRIVATE_KEY,
    session_token: req.body['arkose-token'],
  }),
})
const data = await res.json()
if (data.session_details?.solved !== true) return res.status(400).json({ error: 'bot' })
After — CaptchaLa server verify (Node)
const res = await fetch('https://apiv1.captcha.la/v1/validate', {
  method: 'POST',
  headers: {
    'X-App-Key': process.env.CAPTCHALA_APP_KEY,
    'X-App-Secret': process.env.CAPTCHALA_APP_SECRET,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ pass_token: req.body['captchala-token'] }),
})
const { data } = await res.json()
if (!data || !data.valid) return res.status(400).json({ error: 'bot' })

迁移步骤

  1. 1

    注册并取得你的 App Key + Secret

    创建免费 CaptchaLa 账号。不像 Arkose,没有 PoC、没有采购流程——定价公开且自助。免费方案足以涵盖初步测试。

  2. 2

    移除 Arkose SDK 与回呼接线

    删除 Arkose 的 script 标签、回呼函数,以及你从回呼填入的隐藏 input。CaptchaLa 使用简单的 div 占位——无需回呼接线。

  3. 3

    加入 CaptchaLa 组件

    在原本 Arkose 组件的位置放上我们的 div 与 script 标签。隐藏的 token 字段会自动以 captchala-token 填入,你不必手动管理。

  4. 4

    更新服务器验证

    把 Arkose 的 session_details.solved 检查换成我们的 valid 旗标(data.valid)。端点改为 apiv1.captcha.la/v1/validate。body 从 form-urlencoded 改为 JSON。

  5. 5

    规划合约收尾

    Arkose 合约通常是年约并自动续约。请留意合约中的取消窗口,并向法务/采购提前通知。多数团队在收尾期间会让两套并行 30 天。

常见问题

切换后会损失机器人检测准确度吗?

对多数工作负载而言,没有可量测的差异。Arkose 的验证在默认上刻意比我们更难,但他们拦下的机器人族群与我们拦下的,在典型产品流量上高度重叠。如果你是 Roblox/Microsoft 规模、面对指名道姓的对手,答案会更微妙——先来找我们聊聊。

合约重叠期该怎么处理?

在收尾期间让两套并行。表单 A 维持 Arkose;表单 B 切到 CaptchaLa。对比转化 + 机器人率。多数团队发现机器人率持平、用户摩擦率下降。然后在合约续约时退役 Arkose。

Arkose 的风险遥测/分析仪表板呢?

CaptchaLa 有自己的仪表板,提供可比的遥测——验证率、成功率、风险分数分布、地理分布。如果你是从 Arkose Insights 转过来,形态会很熟悉。