移行ガイド

Friendly Captcha から CaptchaLa へ移行する

同じプライバシー優先の姿勢。CaptchaLa を差し込めば、モバイル SDK、中国本土での利用、目に見えるチャレンジフォールバックが手に入ります。移行はファイル2つの変更だけ。

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 サーバー検証 (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 サーバー検証 (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 に、スクリプト src を当社の CDN に置き換えます。module タイプのスクリプトは通常の async スクリプトになります。

  3. 3

    隠しフィールド名を更新する

    Friendly Captcha は frc-captcha-solution を、当社は captchala-token を送信します。名前で読んでいる場合はフォームハンドラーで名称を変更してください。

  4. 4

    サーバー検証を更新する

    エンドポイントを apiv1.captcha.la/v1/validate に変更します。ボディから sitekey フィールドは不要です(appSecret からサイトを識別します)。レスポンスの valid フラグ(data.valid)はそのままです。

  5. 5

    段階的にロールアウトする

    フォームを1つずつ切り替えます。CaptchaLa は Friendly Captcha と共存でき、Cookie や状態を共有しません。ユーザー端末上での PoW 計算がなくなるため、多くのチームはコンバージョンがわずかに改善することを確認します。

よくある質問

監査可能なプライバシーの物語は失われますか?

Friendly Captcha の PoW のみのアーキテクチャは、文字どおり暗号学的な意味でより監査しやすいものです。フィンガープリント化する対象が本当に何もありません。CaptchaLa もフィンガープリント化しませんが、当社のアーキテクチャ(適応型リスク + チャレンジ)はより複雑で、その分監査は難しくなります。プライバシーの判断基準が「暗号学に精通したプライバシー弁護士が監査できること」であれば、これは検討に値する実際の違いです。

モバイルはどうですか?

これは移行の最大のメリットの1つです。Friendly Captcha は Web 専用です。CaptchaLa にはネイティブの iOS、Android、Flutter SDK があり、同じバックエンド、同じダッシュボード、同じ請求です。2社目のベンダーを選ぶことなく、モバイルアプリに CAPTCHA を出荷できます。

ユーザーはどう違いを感じますか?

古いスマホや低スペックのノートでは、Friendly Captcha がバックグラウンドで走らせる PoW 計算が体感できることがあります(数秒の CPU 消費)。CaptchaLa は端末上で重い計算を走らせません。ほとんどのユーザーはどちらでも気づきませんが、非力なハードウェアのユーザーほど当社の方が気づきにくいでしょう。