FunCaptcha
と CapMonster Cloud

キャプチャの解決、サイトへの設置、テスト。

FunCaptchaソリューションの価格

キャプチャ
価格 (USD)
$ 1.10
1000トークン
キャプチャや防御機構が導入済みのサイトを引き継いだのに、ソースコードへアクセスできない? その場合、どの仕組みが入っているのか、設定は正しいのか、どう検証するのかが気になります。

この記事では、よくある疑問にできるだけお答えしました。まず最初のステップは、どのような保護システムが使われているかを特定することです。そのために、代表的なキャプチャやボット対策システムの一覧を参照できます。ここには、どの仕組みが使われているかを素早く見分けるための画面イメージや主な特徴がまとめられています。

もしサイトで FunCaptcha (Arkose Labs CAPTCHA) が使われていることが分かったら、次のステップはその特徴と動作をより詳しく確認することです。同じこの記事の中で、FunCaptcha (Arkose Labs CAPTCHA) をサイトに導入するための手順書も確認できるので、あなたのサイト上でどのように機能しているのかをしっかり理解できます。これにより、現在の保護を正しく把握できるだけでなく、今後の運用や保守も計画的に行えるようになります。

FunCaptchaとは
FunCaptchaとは
FunCaptchaは、Arkose Labsによって開発されたインタラクティブなボット対策システムです。ユーザーが実際の人間であるかどうかを、ゲームや視覚的な課題を通じて確認します。人間には簡単ですが、自動化は困難です。FunCaptchaは、登録、ログイン、オンライン決済、マーケティングキャンペーンの保護、詐欺、スパム、大規模自動化行動の防止に使用されます。
Background
FunCaptcha の例
3Dオブジェクトの回転
3Dオブジェクトの回転
ユーザーは3Dモデルや図形を正しい位置に配置するために回転させます。
条件に従ったオブジェクトの選択
条件に従ったオブジェクトの選択
指定されたルールに従って画像や要素を選択します(例:「すべてのリンゴを選択」)。
インタラクティブ課題(ドラッグ&ドロップ / パスに従う)
インタラクティブ課題(ドラッグ&ドロップ / パスに従う)
要素に対して操作を行い、例えば特定のパスに沿ってドラッグします。
オーディオ質問
オーディオ質問
ユーザーは音声を聞き、正しい答えを選択します(視覚課題の代替として使用されることが少ない)。

CapMonster Cloudを使ったFunCaptchaの解決方法

FunCaptchaを含むフォームをテストする際、キャプチャが正しく動作し、正しく統合されていることを確認する必要があります。
サイトに設置したキャプチャを手動でテストできます。
  • フォームのあるページを開き、キャプチャが表示されていることを確認します。
  • キャプチャを解決せずにフォームを送信してみてください — サーバーはエラーを返すはずです。
  • キャプチャを正しく解決した後 — フォームはエラーなしで送信されるはずです。
自動キャプチャ認識には、CapMonster Cloudのような専門サービスを使用できます。これはキャプチャのパラメータを受け取り、サーバーで処理し、完了したトークンを返します。このトークンをフォームに挿入すると、ユーザーの操作なしで検証を通過できます。

CapMonster Cloud API を使った一般的な手順:

タスクの作成タスクの作成
arrow
API リクエストの送信API リクエストの送信
arrow
結果の受信結果の受信
arrow
トークンをページへ適用トークンをページへ適用
arrow
FunCaptchaを自サイトに接続する方法
サイト上でのキャプチャの動作を理解し、検証ロジックを把握し、再接続や再設定を行うために、このセクションを学習することをおすすめします。保護接続のプロセスを説明しており、全ての詳細を迅速に理解するのに役立ちます。
  1. Arkose Labsに登録し、Arkose Command Centerにアクセスを取得します(チャットでフォームにデータを入力して送信可能 — 例:ここ または ここ)。
  2. アクセスを取得したら、Settings → Keys2つのキー(Public / Private)を取得します。

    HowTo Connect image 1

  3. 必要に応じてCustomer Success Manager (CSM)に連絡してください:

    • カスタムAPIドメインの取得;
    • Verify APIのリクエストとレスポンススキーマの確認。

Arkoseの推奨事項

  • テストにはDevelopment Keyを使用。
  • 各ワークフロー(ログイン、登録、購入など)には別のProduction Keyを使用。
  • サイトごとに異なるキーを使用。

一般的な作業フロー

  • クライアントはデータを収集し、必要に応じてチャレンジを表示。
  • クライアントは使い捨てトークンを受け取る。
  • サーバーはArkose Verify APIでトークンを検証。

ステップ1. クライアント側統合

ブラウザ側(Arkose Bot Manager):

  • ユーザーの挙動を分析;
  • 必要に応じてEnforcement Challengeを表示;
  • セッショントークンを返す。

Client API:

  • テストでは使用可能:
    client-api.arkoselabs.com
  • 本番ではカスタムドメインを指定することが望ましい:
    <company>-api.arkoselabs.com

主な要件

クライアントの結果 — サーバーに送信するtoken

ステップ2. サーバー側検証

サーバーではトークンをArkose Verify APIで検証。

Verify API endpoint

必須リクエストパラメータ

POSTリクエストボディ例

API応答にはセッション情報と検証結果が含まれる。

重要ポイント

動作の仕組み:

Background
想定されるエラーとデバッグ
Bug Icon
リクエストパラメータが不正
クライアント用のPublic Keyとサーバー用のPrivate Keyが正しいこと、Verify APIに正しいsession_tokenを送信していることを確認してください。
Bug Icon
session_tokenが空または不正
サーバーは空の結果またはエラーを受け取ります。クライアントがキャプチャ完了後に正しくトークンを送信しているか確認してください。
Bug Icon
解決タイムアウト
ユーザーが時間内に検証を完了しない場合、Arkoseサーバーはエラーを返すか検証を拒否します。サーバー側のタイムアウトを延長してください。
保護の堅牢性チェック
セキュリティと最適化のヒント
<span class="font-bold">Private Keyはサーバーにのみ保存</span>、JSクライアントコードに含めない。
Arkose Verify APIの完全な応答をログに記録(検証状態、エラーコード、送信パラメータを含む) — 問題の診断が迅速になります。
すべてのリクエストに<span class="font-bold">HTTPS</span>を使用(クライアント→サーバー→Verify API)してデータの改ざんを防止。
サイトに<span class="font-bold">プライバシーポリシー</span>と<span class="font-bold">Arkose Labs利用規約</span>へのリンクを配置(ライセンスに従う)。
まとめ

すでにキャプチャや別の保護システムが導入されているサイトを引き継いだものの、コードにはアクセスできない場合でも心配はいりません!どの技術が使われているかを特定するのはそれほど難しくありません。動作が正しいか確認するには、隔離されたテスト環境で認識サービスCapMonster Cloudを利用し、トークン処理の仕組みと検証ロジックが正しく機能しているかをチェックできます。

FunCaptchaの場合も、システムを特定し、その挙動を調べて、保護機能が正しく動いていることを確認すれば十分です。この記事では、FunCaptchaを見分ける方法と、その導入や再設定に関する手順書の見つけ方を紹介しました。これにより、防御を安心して維持し、その動作をしっかりと管理できます。

Conclusion
参考リンク
DocIconFunCaptchaドキュメント (Arkose Labs CAPTCHA)DocIconFunCaptcha接続申請フォームDocIconCapMonster Cloudドキュメント (FunCaptcha対応)

FunCaptcha に関するよくある質問

はい — Arkose は非表示モードで動作し、バックグラウンドでユーザー行動を分析し、リスク検出時のみ表示 challenge を起動します。低リスクセッションではクライアントスクリプトがシグナルを収集し、UI を表示せずに設定された callback 経由で session token を返します。

challenge の表示有無に関わらず callback を常に処理する必要があります — トークン処理パスは両方の場合で同じです。

信頼できる指標は arkoselabs.com ドメインへのネットワークリクエストです。DevTools の Network タブでページを再読み込み — client-api.arkoselabs.com などへのリクエストがあれば FunCaptcha が有効です。

秘密鍵はサーバー側検証ロジック用で、クライアント向けコードに露出してはいけません。公開鍵はクライアント側 Arkose FunCaptcha 初期化用です。

鍵を取り違えると、統合は通常失敗します。

バックエンドが Arkose 検証を安定・安全に処理することを確認するため、次の3つの重要シナリオをテストすることを推奨します:

  • session_token なしのリクエスト — 明確に拒否されること;
  • 期限切れトークンの送信 — サーバーがエラーを返すこと;
  • 同じトークンの再利用 — 2回目の検証が拒否されること(トークンは厳密に一回限り)。

CapMonster Cloud が FunCaptcha トークンを返したら、初期化時に Arkose が登録した callback 経由でページに渡す必要があります。

"ページへのトークン配置" セクションの Playwright 例では自動的に行われます:

  • スクリプトがページの JavaScript 実行コンテキストにフックします。
  • グローバル Arkose オブジェクトが FunCaptcha または ArkoseEnforcement として公開されているか確認します。
  • render() メソッドをパッチして元の callback を取得します。
  • 解決後、その callback をトークンで呼び出します。

解決済みトークンが期待どおりページに注入され、クライアント側の手動操作は不要です。