Migrasi dari reCAPTCHA ke CaptchaLa
Penggantian pasang terus dalam masa kurang 10 minit. Kekalkan borang anda, tukar penyedia pengesahan sahaja. Berfungsi dengan HTML biasa, WordPress, Flarum dan mana-mana backend.
Bagaimana rupa perubahan kod
<div class="g-recaptcha" data-sitekey="YOUR_SITE_KEY"></div>
<script src="https://www.google.com/recaptcha/api.js" async defer></script><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>const res = await fetch('https://www.google.com/recaptcha/api/siteverify', {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: new URLSearchParams({
secret: process.env.RECAPTCHA_SECRET,
response: req.body['g-recaptcha-response'],
}),
})
const data = await res.json()
if (!data.success) return res.status(400).json({ error: 'bot' })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
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
Tukar tag widget dalam borang anda
Gantikan div dan script src reCAPTCHA dengan padanan CaptchaLa. Kelas tag berubah dari g-recaptcha kepada captchala, data-sitekey menjadi data-app-key, dan URL skrip menghala ke CDN kami.
- 3
Kemas kini nama medan penyerahan borang
reCAPTCHA menyuntik medan tersembunyi bernama g-recaptcha-response. CaptchaLa menggunakan captchala-token. Jika pengendali borang anda membaca medan mengikut nama, namakan semula pemalar tersebut; jika tidak, input tersembunyi mengalir secara automatik.
- 4
Kemas kini pengesahan sisi pelayan
Halakan permintaan pengesahan ke apiv1.captcha.la/v1/validate dengan kelayakan aplikasi dalam header (X-App-Key / X-App-Secret) dan pass_token dalam badan JSON. Bentuk respons memulangkan bendera valid yang sama (data.valid) seperti reCAPTCHA, jadi kod percabangan sedia ada kekal.
- 5
Lancarkan secara berperingkat
Kebanyakan pasukan melancarkan ke satu borang dahulu (selalunya yang trafik terendah — pendaftaran surat berita atau hubungi), pantau penukaran dan kadar cabaran selama beberapa jam, kemudian kembangkan. Tiada minimum dan tiada kontrak, jadi pelancaran canary adalah percuma.
Lebih pantas: guna plugin
WordPress + WooCommerce
Pasang plugin CaptchaLa dari direktori WordPress, tampal App Key + Secret anda, dan plugin mengendalikan log masuk, pendaftaran, komen, checkout WooCommerce serta CF7/Gravity/WPForms dalam satu tempat.
View integration →Flarum
Pasang sambungan CaptchaLa melalui Composer, aktifkannya dalam admin, dan ia melindungi pendaftaran, log masuk, set semula kata laluan dan balasan kiriman.
View integration →Soalan lazim
Adakah saya perlu migrasi semua borang serentak?
Tidak. Kedua-dua sistem boleh wujud bersama pada tapak yang sama — ia tidak berkongsi keadaan atau kuki. Migrasi satu borang pada satu masa.
Bagaimana pula dengan skor risiko reCAPTCHA Enterprise? Adakah skor dipindahkan?
Skor tidak dipindahkan (ia dalaman vendor), tetapi CaptchaLa memulangkan skor risikonya sendiri dalam respons pengesahan. Julat angka dan logik keputusan didokumenkan; pasukan biasanya memetakan ambang skor sedia ada (cth. 0.5) kepada kami dalam masa sejam.
Adakah Google Site Verification atau integrasi Google lain saya akan rosak?
Tidak. reCAPTCHA berasingan daripada Search Console / Site Verification / Analytics. Membuang tag reCAPTCHA tidak memberi kesan kepada mana-mana perkhidmatan Google lain.
Adakah skrip migrasi untuk tapak dengan banyak tag reCAPTCHA terbenam?
Kami tidak menyediakannya (cari-dan-ganti hanyalah satu regex setiap repo, dan templat setiap pangkalan kod berbeza). Coretan shell 10 baris yang digunakan kebanyakan pasukan ada dalam dokumentasi.