Skip to content

WHMCS

CaptchaLa 公式 WHMCS アドオンモジュール。コードを書かずに、WHMCS クライアントエリアへ CAPTCHA 検証を追加します — ログイン、新規登録、パスワード再設定、お問い合わせフォーム、チケット送信、カート決済。

単なる site-key ウィジェットとは異なり、すべてのチャレンジはサーバー発行・単回使用のトークン(リプレイ防止)に裏付けられ、第三者トラッカーは一切読み込みません。

保護対象

以下はそれぞれモジュール設定の独立したトグルです — 保護したい入口だけ有効にしてください。

  • ログイン
  • 新規登録
  • パスワード再設定
  • お問い合わせフォーム
  • チケット送信
  • カート決済

動作要件

  • WHMCS 8.x と 9.x(8.3 および 9.0 のクライアントエリアでテスト済。sixtwenty-one の両テーマで、Friendly URLs の有無を問わず動作)
  • PHP 8.0+(WHMCS 9.0 自体は PHP 8.2+ が必要)
  • CaptchaLa アカウント — dash.captcha.laApp Key + App Secret を取得

インストール

1. モジュールを入れる

  1. releases から最新の whmcs-x.y.z.zip をダウンロードします。
  2. WHMCS ルートディレクトリに展開します。これにより modules/addons/captchala/ が追加されます。
  3. WHMCS 管理画面で Setup → Addon Modules を開き、CaptchaLa を見つけて Activate をクリックします。

2. 設定

Configure をクリックし、次を行います。

  1. App KeyApp Secret を貼り付け。
  2. Widget modeTheme を選択。
  3. 保護したいフォームを有効化。
  4. Save Changes をクリック。

管理サイドバーの CaptchaLa ページを開くと、ダッシュボードに対してライブ接続テストを実行できます。

TIP

有効化後にウィジェットが表示されない場合、一度モジュール設定を保存し直してください — WHMCS はモジュールが(再)有効化/保存されたときにのみ、そのモジュールの hooks.php を登録します。

設定項目

すべての設定は Setup → Addon Modules → CaptchaLa → Configure にあります。

設定項目既定値説明
App KeystringCaptchaLa ダッシュボードの公開キー。必須。
App Secretstringサーバーシークレット。トークンの発行と検証に使用。必須。ブラウザには露出しません。
Widget modeenumpopuppopup(トリガーバー → 全画面チャレンジ)、float(インラインパネル)、embed(インラインチェックボックス)、bind(不可視、送信を傍受)。
Themeenumdefaultカラープリセット: defaultdarkslateemeraldamberrose
LanguagestringautoBCP-47 コード(例: enzhde)または auto(ブラウザに追従)。
Protect loginboolonクライアントエリアのログインにチャレンジを表示。
Protect registrationboolon新規アカウント登録にチャレンジを表示。
Protect password resetboolonパスワード再設定フォームにチャレンジを表示。
Protect contact formbooloffお問い合わせフォームにチャレンジを表示。
Protect ticket submissionbooloffチケット送信の最終ステップにチャレンジを表示。
Protect cart checkoutbooloffカート決済にチャレンジを表示。
Skip for logged-in usersboolon既にクライアントセッションを持つ訪問者にはチャレンジを表示しない。
Failure messagestring検証失敗時に表示するメッセージ。

仕組み

各保護対象フォームのページで、モジュールはダッシュボードからそのフォームの action にスコープされた新しい**サーバートークン(sct_を発行し、それに紐づけたウィジェットを描画します。訪問者がチャレンジを解くと、SDK は単回使用のパストークン(pt_)**をフォームに書き込みます。送信時、モジュールは WHMCS がフォームを処理する前にその pt_ をサーバー側で検証し、リプレイや action の不一致は拒否されます。

ダッシュボードに一時的に到達できない場合、モジュールはフェイルオープン(送信を通す)するため、上流の一時障害でクライアントエリアがロックアウトされることはありません。

FAQ

モジュールは無料ですか?

無料です。モジュールそのものは無料。CaptchaLa の無料プランで月 10,000 回の検証まで含まれ、それ以上の量が必要な場合のみ有料プランが必要になります。

WHMCS 8 と 9 の両方で動作しますか?

します — 8.3 および 9.0 のクライアントエリアで、sixtwenty-one テーマ、Friendly URLs の有無を問わずテスト済です。

ウィジェットが表示されません。

一度モジュール設定を保存し直してください(Configure → Save Changes)。WHMCS はモジュールが(再)有効化/保存されたときにのみ hooks.php を登録します。

ソース

MIT-licensed examples · CaptchaLa is operated independently