GeeTest에서 CaptchaLa로 마이그레이션
셀프서비스 가격, 영어 우선 문서, 그리고 네 개의 숨김 필드 대신 단일 토큰. 10분 이내에 전환하세요.
코드 변경 예시
<div id="captcha"></div>
<script src="https://static.geetest.com/v4/gt4.js"></script>
<script>
initGeetest4({ captchaId: 'YOUR_CAPTCHA_ID' }, function(captcha) {
captcha.appendTo('#captcha')
captcha.onSuccess(function() {
var result = captcha.getValidate()
document.getElementById('lot_number').value = result.lot_number
document.getElementById('captcha_output').value = result.captcha_output
document.getElementById('pass_token').value = result.pass_token
document.getElementById('gen_time').value = result.gen_time
})
})
</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 sign = crypto.createHmac('sha256', process.env.GEETEST_KEY)
.update(req.body.lot_number).digest('hex')
const res = await fetch(`https://gcaptcha4.geetest.com/validate?captcha_id=${process.env.GEETEST_ID}`, {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: new URLSearchParams({
lot_number: req.body.lot_number,
captcha_output: req.body.captcha_output,
pass_token: req.body.pass_token,
gen_time: req.body.gen_time,
sign_token: sign,
}),
})
const data = await res.json()
if (data.result !== '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' })마이그레이션 단계
- 1
가입하고 App Key + Secret 받기
무료 CaptchaLa 계정을 만드세요. 영업 통화도 문의 양식도 없습니다. 사이트를 추가하고 App Key(공개)와 App Secret(서버용)을 복사하세요.
- 2
GeeTest 초기화 JS 제거
initGeetest4 호출과 onSuccess 콜백을 삭제하세요. 채우던 네 개의 숨김 입력(lot_number, captcha_output, pass_token, gen_time)을 제거하세요.
- 3
CaptchaLa 위젯 태그 추가
GeeTest 블록 전체를 당사 div + script로 교체하세요. JS 설정이 필요 없습니다. 위젯은 data-app-key로부터 스스로 초기화됩니다.
- 4
서버 검증 간소화
GeeTest 검증(HMAC sign_token 계산, 네 개 필드 본문, result 문자열 검사 포함)을 apiv1.captcha.la/v1/validate로의 단일 JSON POST와 valid 플래그(data.valid)로 교체하세요.
- 5
점진적으로 배포
한 번에 하나의 폼씩 전환하세요. 전환율과 챌린지 비율을 지켜보세요. 최소 사용량도 계약도 없으므로 단계적 배포가 무료입니다.
자주 묻는 질문
CaptchaLa가 중국 본토에서도 똑같이 잘 작동하나요?
네. 당사는 중국 본토 내부에 네이티브 엔드포인트를 운영합니다. 다른 지역의 실제 사용자가 받는 것과 동일한 저지연 검증을 제공합니다. 별도의 SDK도, 별도의 청구도 없습니다.
우리 팀이 익숙한 GeeTest의 슬라이더 UX는 어떻게 되나요?
CaptchaLa는 적응형 시스템의 챌린지 유형 중 하나로 슬라이더를 포함합니다. 기본값은 아니지만 사용할 수 있습니다. 대부분의 팀은 기본값(저위험은 비표시 + 고위험은 클릭)이 슬라이더 우선 방식보다 전환율이 더 좋다고 느낍니다.
위험 점수 민감도에 차이가 있나요?
GeeTest의 위험 모델은 APAC 트래픽 패턴에 맞춰 조정되어 있습니다. CaptchaLa는 글로벌입니다. 트래픽이 APAC 중심이라면 비슷한 동작을 기대할 수 있습니다. APAC 외부라면 오탐(false positive)이 의미 있게 줄어드는 것을 볼 수 있습니다.