Migrasi dari Turnstile ke CaptchaLa
Penggantian pasang terus dalam masa kurang 10 minit. Kekalkan borang anda, lepaskan kebergantungan Cloudflare, dapatkan cabaran sandaran dan endpoint tanah besar China.
Bagaimana rupa perubahan kod
<div class="cf-turnstile" data-sitekey="YOUR_SITE_KEY"></div>
<script src="https://challenges.cloudflare.com/turnstile/v0/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://challenges.cloudflare.com/turnstile/v0/siteverify', {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: new URLSearchParams({
secret: process.env.TURNSTILE_SECRET,
response: req.body['cf-turnstile-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 akaun Cloudflare diperlukan.
- 2
Tukar tag widget
Gantikan cf-turnstile dengan captchala dan data-sitekey dengan data-app-key. Tukar script src kepada CDN kami. Bentuk widget (placeholder div + tag script) adalah sama.
- 3
Kemas kini nama medan tersembunyi
Turnstile menyuntik cf-turnstile-response; CaptchaLa menyuntik captchala-token. Kebanyakan pengendali borang tidak membaca medan mengikut nama, tetapi jika anda membacanya, namakan semula pemalar di satu tempat.
- 4
Kemas kini panggilan pengesahan pelayan
Tukar endpoint kepada apiv1.captcha.la/v1/validate. Kami menerima JSON (Turnstile mengambil form-urlencoded), jadi kemas kini Content-Type dan bentuk badan. Respons masih memulangkan bendera valid (data.valid) untuk kod percabangan anda.
- 5
Lancarkan secara berperingkat
Kekalkan Turnstile pada kebanyakan borang, letakkan CaptchaLa pada satu borang trafik rendah dahulu. Pantau penukaran dan kadar cabaran selama sehari. Kembangkan apabila anda berpuas hati — tiada minimum, tiada kontrak.
Lebih pantas: guna plugin
WordPress + WooCommerce
Jika anda menggunakan plugin Turnstile komuniti pada WordPress, tukar kepada plugin rasmi kami. Log masuk, pendaftaran, komen, checkout WooCommerce, CF7 / Gravity / WPForms — semua dilindungi dalam satu pemasangan.
View integration →Flarum
Pasang sambungan CaptchaLa melalui Composer, aktifkannya dalam admin, dan borang Flarum (pendaftaran, log masuk, set semula kata laluan, balasan kiriman) semuanya berjalan melalui CaptchaLa.
View integration →Soalan lazim
Bolehkah saya kekalkan CDN Cloudflare dan masih menggunakan CaptchaLa?
Ya. CaptchaLa bebas daripada mana-mana CDN — kebanyakan pelanggan kami mengekalkan Cloudflare untuk CDN dan menggunakan CaptchaLa untuk pengesahan. Kedua-dua lapisan ini tidak bercanggah.
Adakah peraturan pengesanan bot Cloudflare saya masih terpakai?
Ya — itu adalah ciri Cloudflare WAF / Bot Management, berasingan daripada Turnstile. Membuang widget Turnstile tidak memberi kesan kepada konfigurasi zon Cloudflare anda.
Bagaimana jika saya menggunakan Turnstile melalui Cloudflare Workers?
Migrasi adalah sama di sisi Worker. Gantikan fetch Turnstile dengan fetch CaptchaLa. Kami ada coretan dalam dokumentasi yang serasi dengan runtime Workers.