Chuyển từ Friendly Captcha sang CaptchaLa
Cùng lập trường ưu tiên quyền riêng tư. Đưa CaptchaLa vào, có thêm SDK di động, khả dụng tại Trung Quốc đại lục, và thử thách dự phòng hiển thị. Việc chuyển đổi chỉ là đổi hai tệp.
Thay đổi mã trông như thế nào
<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' })Các bước chuyển đổi
- 1
Đăng ký & lấy App Key + Secret
Tạo tài khoản CaptchaLa miễn phí, thêm một site, sao chép khóa của bạn. Không cần gọi bán hàng, không hợp đồng.
- 2
Đổi thẻ widget
Thay frc-captcha bằng captchala, data-sitekey bằng data-app-key, và script src bằng CDN của chúng tôi. Script kiểu module trở thành script async thông thường.
- 3
Cập nhật tên trường ẩn
Friendly Captcha gửi frc-captcha-solution; chúng tôi gửi captchala-token. Đổi tên trong trình xử lý biểu mẫu nếu bạn đọc nó theo tên.
- 4
Cập nhật xác thực máy chủ
Endpoint đổi thành apiv1.captcha.la/v1/validate. Body bỏ trường sitekey — chúng tôi nhận diện site từ appSecret của bạn. Cờ valid (data.valid) trong hình thức phản hồi vẫn giữ nguyên.
- 5
Triển khai dần dần
Chuyển từng biểu mẫu một. CaptchaLa cùng tồn tại với Friendly Captcha — chúng không chia sẻ cookie hay trạng thái. Phần lớn các đội thấy tỷ lệ chuyển đổi cải thiện nhẹ vì việc tính toán PoW trên thiết bị người dùng đã biến mất.
Câu hỏi thường gặp
Tôi có mất đi câu chuyện quyền riêng tư có thể kiểm toán không?
Kiến trúc chỉ-PoW của Friendly Captcha dễ kiểm toán hơn theo nghĩa mật mã học thuần túy — thực sự không có gì để lấy dấu vân tay. CaptchaLa cũng không lấy dấu vân tay, nhưng kiến trúc của chúng tôi (rủi ro thích ứng + thử thách) phức tạp hơn, khiến việc kiểm toán khó hơn. Nếu tiêu chí về quyền riêng tư của bạn là 'có thể được luật sư quyền riêng tư có chuyên môn mật mã kiểm toán', thì đó là một khác biệt thực sự đáng cân nhắc.
Còn di động thì sao?
Đây là một trong những lợi ích lớn nhất khi chuyển đổi. Friendly Captcha chỉ dành cho web. CaptchaLa có SDK gốc cho iOS, Android và Flutter — cùng backend, cùng bảng điều khiển, cùng hóa đơn. Triển khai CAPTCHA trong ứng dụng di động mà không cần chọn nhà cung cấp thứ hai.
Người dùng của tôi cảm nhận khác biệt thế nào?
Trên điện thoại cũ và laptop cấu hình thấp, phần tính toán PoW mà Friendly Captcha chạy nền có thể thấy rõ — vài giây tải CPU. CaptchaLa không chạy tính toán nặng trên thiết bị. Phần lớn người dùng sẽ không nhận ra dù theo cách nào; người dùng có phần cứng yếu sẽ ít nhận ra chúng tôi hơn.