遷移指南

從 Friendly Captcha 遷移到 CaptchaLa

同樣隱私優先的姿態。換上 CaptchaLa,獲得行動 SDK、中國大陸可用性,以及可見的驗證兜底。遷移只需改兩個檔案。

FFriendly CaptchaCurrent setup~10 minCaptchaLaDrop-in target

程式碼改動長這樣

Before — Friendly Captcha
<div class="frc-captcha" data-sitekey="YOUR_SITE_KEY"></div>
<script type="module" src="https://cdn.jsdelivr.net/npm/@friendlycaptcha/sdk/site.compat.min.js" async defer></script>
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 — Friendly Captcha server verify (Node)
const res = await fetch('https://api.friendlycaptcha.com/api/v1/siteverify', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    secret: process.env.FRIENDLY_SECRET,
    solution: req.body['frc-captcha-solution'],
    sitekey: process.env.FRIENDLY_SITEKEY,
  }),
})
const data = await res.json()
if (!data.success) 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 帳號、新增一個站點、複製金鑰。無需銷售電話、無需合約。

  2. 2

    替換元件標籤

    把 frc-captcha 換成 captchala,data-sitekey 換成 data-app-key,script src 換成我們的 CDN。module 型別的 script 改為一般的 async script。

  3. 3

    更新隱藏欄位名稱

    Friendly Captcha 提交 frc-captcha-solution,我們提交 captchala-token。如果你依名稱讀取,就在表單處理程式中改名。

  4. 4

    更新伺服器驗證

    端點改為 apiv1.captcha.la/v1/validate。body 拿掉 sitekey 欄位——我們從你的 appSecret 識別站點。回應結構的 valid 旗標(data.valid)維持不變。

  5. 5

    逐步上線

    一次切換一個表單。CaptchaLa 與 Friendly Captcha 可共存——它們不共享 cookie 或狀態。由於少了在用戶裝置上跑的 PoW 運算,多數團隊發現轉化略有提升。

常見問題

我會失去可被審計的隱私敘事嗎?

在字面的密碼學意義上,Friendly Captcha 的純 PoW 架構確實更可被審計——真的沒有任何東西可供指紋識別。CaptchaLa 同樣不做指紋,但我們的架構(自適應風險 + 驗證)更複雜,這讓審計更難。如果你的隱私准入標準是「能被具備密碼學專業的隱私律師審計」,那這是個值得權衡的真實差異。

行動端呢?

這是最大的遷移收益之一。Friendly Captcha 只支援 Web。CaptchaLa 有原生 iOS、Android 與 Flutter SDK——同一後端、同一儀表板、同一計費。讓你在行動 App 中上線 CAPTCHA,無需另選第二家供應商。

我的用戶會如何感受到差異?

在較舊的手機與低規格筆電上,Friendly Captcha 在背景跑的 PoW 運算可能會被察覺——幾秒鐘的 CPU 占用。CaptchaLa 不在裝置上跑繁重運算。多數用戶兩者都不會察覺;硬體較弱的用戶會更少察覺到我們。