Panduan migrasi

Migrasi dari hCaptcha ke CaptchaLa

Penggantian pasang terus dalam masa kurang 10 minit. Bentuk borang sama — widget lebih pantas, tiada pusingan klasifikasi imej, dan trafik anda kekal sebagai trafik anda.

hhCaptchaCurrent setup~10 minCaptchaLaDrop-in target

Bagaimana rupa perubahan kod

Before — hCaptcha
<div class="h-captcha" data-sitekey="YOUR_SITE_KEY"></div>
<script src="https://js.hcaptcha.com/1/api.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 — hCaptcha server verify (Node)
const res = await fetch('https://api.hcaptcha.com/siteverify', {
  method: 'POST',
  headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
  body: new URLSearchParams({
    secret: process.env.HCAPTCHA_SECRET,
    response: req.body['h-captcha-response'],
  }),
})
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' })

Langkah migrasi

  1. 1

    Daftar & dapatkan App Key + Secret anda

    Cipta akaun CaptchaLa percuma, tambah satu tapak, dan salin App Key (awam) serta App Secret (sisi pelayan). Tiada kad diperlukan.

  2. 2

    Tukar tag widget

    Gantikan kelas h-captcha dengan captchala, data-sitekey dengan data-app-key, dan script src dengan URL CDN kami. Struktur kekal sama.

  3. 3

    Kemas kini nama medan tersembunyi

    hCaptcha menyuntik h-captcha-response; CaptchaLa menyuntik captchala-token. Cari-dan-ganti nama medan dalam pengendali borang anda jika anda merujuknya mengikut nama.

  4. 4

    Kemas kini pengesahan pelayan

    Tukar endpoint kepada apiv1.captcha.la/v1/validate. Kami menggunakan JSON (hCaptcha menggunakan form-urlencoded), jadi kemas kini Content-Type dan badan. Bendera valid (data.valid) masih dalam respons — kod percabangan kekal.

  5. 5

    Lancarkan secara berperingkat

    Letakkan CaptchaLa pada satu borang dahulu, ukur penukaran dan kadar cabaran selama beberapa jam. Kebanyakan pasukan melihat penyelesaian mendatar atau bertambah baik serta-merta kerana pusingan klasifikasi imej telah tiada.

Soalan lazim

Apa yang berlaku kepada akaun hCaptcha saya?

Tiada apa-apa — biarkan ia seperti sedia ada dan berhenti menghantar permintaan. Tiada kontrak, tiada langkah pemberitahuan. Akaun kekal tidak aktif. Jika anda mahu menutupnya secara rasmi, hCaptcha mempunyai pilihan pemadaman akaun layan diri.

Adakah Core Web Vitals akan bertambah baik?

Biasanya ya. Widget hCaptcha biasanya menambah 400–600ms kepada LCP pada halaman borang. Widget CaptchaLa mensasarkan <100ms. Beza tepatnya bergantung pada bajet lain halaman anda, tetapi pada halaman yang banyak borang, perbezaannya ketara.

Bagaimana pula dengan ciri hCaptcha Enterprise yang saya gunakan?

Kebanyakan ciri enterprise (tema tersuai, pemarkahan risiko lanjutan, papan pemuka analitik) mempunyai padanan langsung dalam pelan standard CaptchaLa. Halaman migrasi dalam dokumentasi menyenaraikan setiap ciri dan padanan CaptchaLa-nya.