마이그레이션 가이드

Friendly Captcha에서 CaptchaLa로 마이그레이션

동일한 프라이버시 우선 자세. CaptchaLa를 도입해 모바일 SDK, 중국 본토 가용성, 그리고 표시형 챌린지 폴백을 얻으세요. 마이그레이션은 두 파일 변경입니다.

FFriendly CaptchaCurrent setup~10 minCaptchaLaDrop-in target

코드 변경 예시

Before — Friendly Captcha
<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>
After — CaptchaLa
<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>
Before — Friendly Captcha server verify (Node)
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' })
After — CaptchaLa server verify (Node)
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. 1

    가입하고 App Key + Secret 받기

    무료 CaptchaLa 계정을 만들고 사이트를 추가한 뒤 키를 복사하세요. 영업 통화도 계약도 없습니다.

  2. 2

    위젯 태그 교체

    frc-captcha를 captchala로, data-sitekey를 data-app-key로, script src를 당사 CDN으로 바꾸세요. module 타입 script는 일반 async script가 됩니다.

  3. 3

    숨김 필드명 변경

    Friendly Captcha는 frc-captcha-solution을, 당사는 captchala-token을 제출합니다. 폼 핸들러에서 이름으로 읽는다면 변경하세요.

  4. 4

    서버 검증 업데이트

    엔드포인트가 apiv1.captcha.la/v1/validate로 변경됩니다. 본문에서 sitekey 필드가 빠집니다. 당사는 appSecret으로 사이트를 식별합니다. 응답의 valid 플래그(data.valid)는 그대로 유지됩니다.

  5. 5

    점진적으로 배포

    한 번에 하나의 폼씩 교체하세요. CaptchaLa는 Friendly Captcha와 공존합니다. 쿠키나 상태를 공유하지 않습니다. 사용자 기기에서의 PoW 연산이 사라지기 때문에 대부분의 팀은 전환율이 약간 개선되는 것을 확인합니다.

자주 묻는 질문

감사 가능한 프라이버시 스토리를 잃게 되나요?

Friendly Captcha의 PoW 전용 아키텍처는 문자 그대로의 암호학적 의미에서 더 감사하기 쉽습니다. 핑거프린팅할 것이 정말로 없습니다. CaptchaLa도 핑거프린팅을 하지 않지만, 당사 아키텍처(적응형 위험 + 챌린지)는 더 복잡해서 감사가 더 어렵습니다. 프라이버시 판단 기준이 '암호학 전문성을 갖춘 프라이버시 변호사가 감사 가능한가'라면, 그것은 따져볼 만한 실질적 차이입니다.

모바일은 어떤가요?

이것이 가장 큰 마이그레이션 이점 중 하나입니다. Friendly Captcha는 웹 전용입니다. CaptchaLa에는 네이티브 iOS, Android, Flutter SDK가 있습니다. 동일한 백엔드, 동일한 대시보드, 동일한 청구입니다. 두 번째 벤더를 고르지 않고도 모바일 앱에 CAPTCHA를 출시하세요.

사용자는 어떤 차이를 느끼나요?

오래된 휴대폰과 저사양 노트북에서는 Friendly Captcha가 백그라운드에서 돌리는 PoW 연산이 눈에 띌 수 있습니다. 몇 초간 CPU를 소모하니까요. CaptchaLa는 기기에서 무거운 연산을 돌리지 않습니다. 대부분의 사용자는 어느 쪽이든 알아채지 못하지만, 약한 하드웨어를 쓰는 사용자는 당사를 덜 느낄 것입니다.