WP Simple Pay ドキュメント

WP Simple Pay のドキュメント、参考資料、チュートリアル

スパム対策リファレンス

読む時間: 7分 | 難易度: 初級

4つのCAPTCHAプロバイダーカードとメール認証トグルが表示されているスパム対策設定のサブセクション。

概要

カードテストは、WordPressの支払いフォームに対する最も一般的な自動化された不正行為です。ボットは、機能しているカードを見つけるために、1時間あたり数千もの盗難カード番号を送信します。WP Simple Payのスパム対策設定には、2つの補完的な防御策があります。

  1. CAPTCHA — Stripeに到達する前に自動送信を停止します。Google reCAPTCHA v3、hCaptcha、またはCloudflare Turnstileから選択できます。
  2. Eメール認証 — 設定可能な期間内に設定可能な回数の不正な拒否が発生した後、顧客にEメールアドレスを確認させるリアクティブレイヤーです。

両方のレイヤーは、WP Simple Pay > 設定 > 一般 > 🛡️ スパム対策の下で設定されます。

前提条件

  • WP Simple Pay(CAPTCHAは無料版で利用可能)
  • WP Simple Pay Pro(Eメール認証用)

CAPTCHA

スパム対策タブの上部にあるCAPTCHA設定により、なしGoogle reCAPTCHA v3hCaptcha、またはCloudflare Turnstileのいずれかのプロバイダーを選択できます。プロバイダーを選択すると、対応する認証情報フィールドが下に表示されます。

Google reCAPTCHA v3

Googleによるスコアベースの不可視CAPTCHA。顧客の操作は不要です。Googleは各リクエストを0.0(ボットの可能性が高い)から1.0(人間である可能性が高い)でスコアリングし、WP Simple Payはしきい値未満の送信をブロックします。

  • サイトキー — reCAPTCHA管理コンソールからの公開認証情報。
  • シークレットキー — reCAPTCHA管理コンソールからの非公開認証情報。

セットアップ: google.com/recaptcha/adminでサインアップし、reCAPTCHA v3(v2ではない)を選択し、ドメインを追加して、生成されたキーを貼り付けます。

hCaptcha

プライバシーに配慮したGoogle reCAPTCHAの代替。顧客が一度だけ解決する、表示されるチャレンジウィジェット。reCAPTCHAと同じデータ形式 — サイトキー + シークレットキー。

  • サイトキー — hCaptchaダッシュボードから取得。
  • シークレットキー — hCaptchaダッシュボードから取得。

セットアップ:hcaptcha.comでサインアップし、認証情報を取得して貼り付けます。

Cloudflare Turnstile

Cloudflareの無料、プライバシーに配慮したCAPTCHA。多くの場合非表示、時折インタラクティブ。同じ設定形式 — サイトキー + シークレットキー。

  • サイトキー — Cloudflare Turnstileダッシュボードから取得。
  • シークレットキー — Cloudflare Turnstileダッシュボードから取得。

セットアップ:cloudflare.com/products/turnstileでサインアップし、Turnstileウィジェットを作成してキーを貼り付けます。

プロバイダーの選択

プロバイダー コスト 顧客の負担 プライバシー メモ
reCAPTCHA v3 無料 なし(非表示) Googleにデータを送信 Googleサービスをすでに利用している場合のデフォルトとして最適
hCaptcha 無料/有料プラン 低い(時折クリック) プライバシーに配慮 GDPRに準拠したreCAPTCHAの代替として良好
Cloudflare Turnstile 無料 ほとんどなし プライバシーに配慮 Cloudflareをすでに利用している場合の最良の選択肢

一度に有効にできるプロバイダーは1つだけです。プロバイダーを切り替えるには、タブの上部にあるCAPTCHAの選択を変更してください。以前の認証情報は保存されたままですが、元に戻すまで無効になります。

メール認証

メール認証は、WP Simple Payが不正な支払い試行のパターンを検出した後にのみアクティブになる、受動的な防御策です。通常のトラフィックでは正規の顧客には見えず、攻撃中にのみ機能するように設計されています。

仕組み

  1. WP Simple Payは、Stripeからのcharge.failed Webhookでfraudulent(不正)の結果をリッスンします。
  2. 設定された期間内に、不正検出のカウントが設定されたしきい値を超えると、それ以降のすべてのオンサイト支払いフォームは、送信前にメール認証が必要になります。
  3. 顧客は、入力したメールアドレスに認証コードを受信します。支払い完了には、そのコードを入力する必要があります。
  4. 期間が経過し、それ以上の不正イベントが発生しなくなると、認証は自動的に無効になります。

設定

  • メール認証(有効/無効) — マスター切り替え。有効のままにすることを強く推奨します。
  • しきい値 — 認証が有効になるまでに必要な不正利用による却下回数。デフォルト: 3
  • 時間枠 — しきい値が測定されるウィンドウ(時間単位)。デフォルト: 6時間

しきい値と時間枠の調整

デフォルト(6時間で3回の却下)は意図的に控えめに設定されており、通常のトラフィックの急増時に顧客を煩わせることなく、明らかなカードテストを検出します。

  • 以前に標的にされたことがあり、より迅速な対応を望む場合は、しきい値を下げる(例: 2回の却下)。
  • サイトのトランザクション量が多く、6時間の履歴では新しい攻撃を隠蔽してしまう可能性がある場合は、時間枠を下げる
  • トラフィックが非常に多く、デフォルト設定が通常のノイズでトリガーされる場合は、しきい値を上げる

CAPTCHAとメール認証の連携方法

これら2つのレイヤーは、冗長ではなく補完的です。

  • CAPTCHAはすべての送信で実行され、Stripeに到達する前にボットをブロックします。
  • メール認証は、CAPTCHAがバイパスされた場合(例: 人間による攻撃)で、不正利用による却下が既に蓄積されている場合にのみ、事後に実行されます。

最良の結果を得るには、両方を有効にしてください。CAPTCHAは自動化された不正利用の99%を低コストで処理し、メール認証はそれをすり抜けた1%を検出します。

フォームビルダーのスパム対策

グローバル設定に加えて、個々のフォームはフォームエディタの一般タブでメール認証をオプトインできます。これは、グローバルなしきい値に達したかどうかに関わらず、常に認証を必要とする高リスクのフォーム(例: 少額寄付フォーム)がある場合に便利です。

よくある質問

顧客はすべてのフォームでCAPTCHAを目にしますか?

reCAPTCHA v3とCloudflare Turnstileは通常非表示であり、ほとんどの顧客はチャレンジを目にすることはありません。hCaptchaは、1回のクリックが必要な小さなウィジェットを表示します。通常の条件下では、どれも正規の顧客をブロックしません。

「reCAPTCHA」ではなく「🛡️ スパム対策」と表示されるのはなぜですか?

hCaptchaとCloudflare Turnstileのサポートが追加された際に、タブの名前がreCAPTCHAからスパム対策に変更されました。古いドキュメントではreCAPTCHAという名前が残っている場合がありますが、根本的な設定は同じです。

Stripe Checkout(オフサイト)フォームではCAPTCHA設定は尊重されますか?

CAPTCHAは、Stripe Checkoutへのリダイレクト前にWordPress側で強制されます。Stripeのホストページにも独自のボット対策があります。オンサイトフォーム(埋め込み/オーバーレイ)の場合、CAPTCHAは支払い作成前に各送信を検証します。

メール認証がある場合、CAPTCHAは必要ですか?

どちらも異なる目的を果たします。CAPTCHAはボットをブロックします。メール認証は、攻撃者がCAPTCHAを解決できるものの、多くの実際のメール受信ボックスにアクセスできない人間によるカードテストをブロックします。サイトでかなりの量の支払いトランザクションを処理する場合は、両方を使用してください。

時間枠が終了した後、認証コードはどうなりますか?

期限切れのコードは、スケジュールされたタスク(simpay_cleanup_email_verification_codes)によってクリーンアップされます。自動的に無効化され、再利用できなくなります。

特定のフォームをスパム対策から除外できますか?

はい。フォームごとの一般設定タブの設定を参照してください。必要に応じて、フォームごとにグローバルな動作を上書きできます。

次にやること

まだ質問がありますか?私たちが喜んでお手伝いします!

最終更新日:

今日から決済を受け付けましょう

WordPressウェブサイトで、単発および定期的な支払いまたは寄付の受け付けを開始しましょう。