Migrasi dari Friendly Captcha ke CaptchaLa
Postur mengutamakan privasi yang sama. Pasang CaptchaLa, dapatkan SDK mobile, ketersediaan Tiongkok daratan, dan challenge fallback yang terlihat. Migrasinya hanya dua perubahan file.
Seperti apa perubahan kodenya
<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><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://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' })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 & ambil App Key + Secret Anda
Buat akun CaptchaLa gratis, tambahkan situs, salin key Anda. Tanpa panggilan sales, tanpa kontrak.
- 2
Tukar tag widget
Ganti frc-captcha dengan captchala, data-sitekey dengan data-app-key, dan script src dengan CDN kami. Script bertipe module menjadi script async biasa.
- 3
Perbarui nama field tersembunyi
Friendly Captcha mengirim frc-captcha-solution; kami mengirim captchala-token. Ganti namanya di handler formulir Anda jika Anda membacanya berdasarkan nama.
- 4
Perbarui verifikasi server
Endpoint berubah menjadi apiv1.captcha.la/v1/validate. Body membuang field sitekey — kami mengenali situs dari appSecret Anda. Flag valid pada bentuk respons (data.valid) tetap sama.
- 5
Luncurkan secara bertahap
Tukar satu formulir dalam satu waktu. CaptchaLa berdampingan dengan Friendly Captcha — keduanya tidak berbagi cookie atau state. Kebanyakan tim mendapati konversi sedikit membaik karena komputasi PoW di perangkat pengguna sudah hilang.
Pertanyaan umum
Apakah saya kehilangan narasi privasi yang dapat diaudit?
Arsitektur POW-murni Friendly Captcha lebih dapat diaudit dalam pengertian kriptografis harfiah — memang tidak ada yang bisa di-fingerprint. CaptchaLa menganalisis sinyal perangkat dan jaringan untuk memisahkan bot dari manusia; hal itu tidak pernah dipakai membangun profil lintas situs atau memasok grafik periklanan, tetapi model risiko adaptif lebih kompleks sehingga lebih sulit diaudit. Jika kriteria penentu Anda adalah «dapat diaudit oleh pengacara privasi dengan keahlian kriptografi», itu perbedaan yang nyata.
Bagaimana dengan mobile?
Ini salah satu kemenangan migrasi terbesar. Friendly Captcha hanya untuk web. CaptchaLa punya SDK native iOS, Android, dan Flutter — backend yang sama, dashboard yang sama, penagihan yang sama. Pasang CAPTCHA di aplikasi mobile Anda tanpa memilih vendor kedua.
Bagaimana pengguna saya merasakan perbedaannya?
Pada ponsel lawas dan laptop spesifikasi rendah, komputasi PoW yang dijalankan Friendly Captcha di latar belakang bisa terasa — beberapa detik tarikan CPU. CaptchaLa tidak menjalankan komputasi berat di perangkat. Kebanyakan pengguna tidak akan menyadari keduanya; pengguna dengan perangkat lemah akan lebih sedikit menyadari kami.