ウェブサイトの評価を解釈する

このページでは、スコアを解釈して、ユーザー インタラクションによって生じるリスクのレベルを理解し、サイトに対して適切なアクションを実行する方法について説明します。

reCAPTCHA は、キーのタイプに関係なく、サイトとのインタラクションに基づいてリクエストごとにスコアを返します。reCAPTCHA からスコアを入手したら、そのスコアを解釈して、サイトで適切な対応を行う必要があります。

始める前に

ウェブサイトの評価を作成する

評価を解釈する

バックエンドが reCAPTCHA にユーザーの reCAPTCHA レスポンス トークンを送信すると、次の例に示すように JSON レスポンスとして評価を受け取ります。

評価を解釈するには、次のパラメータを考慮します。

  • valid: 指定されたユーザー レスポンス トークンが有効かどうかを示します。valid = false の場合、理由は invalidReason で指定します。valid = false は、ユーザーが課題の解決に失敗したか、siteKey の不一致があることを意味する場合もあります。
  • invalidReason: valid = false の場合に、レスポンスに関連付けられる理由。
  • action: reCAPTCHA による確認をトリガーするユーザー インタラクション。
  • expectedAction: 評価の作成時に指定した、予想されるユーザーのアクション。
  • score: ユーザー インタラクションが与えるリスクのレベル。
  • reasons: reCAPTCHA がユーザー インタラクションをどのように解釈したかに関する追加情報。

    {
     "event":{
        "expectedAction":"EXPECTED_ACTION",
        "hashedAccountId":"ACCOUNT_ID",
        "siteKey":"KEY_ID",
        "token":"TOKEN",
        "userAgent":"(USER-PROVIDED STRING)",
        "userIpAddress":"USER_PROVIDED_IP_ADDRESS"
     },
     "name":"ASSESSMENT_ID",
     "riskAnalysis":{
       "reasons":[],
       "score":"SCORE"
     },
     "tokenProperties":{
       "action":"USER_INTERACTION",
       "createTime":"TIMESTAMP",
       "hostname":"HOSTNAME",
       "invalidReason":"(ENUM)",
       "valid":(BOOLEAN)
     }
    }
    

アクションを確認する

JSON レスポンスには、execute() を呼び出すときにユーザー インタラクションとして指定した action パラメータと、評価の作成時に指定した expectedAction パラメータが含まれます。

actionexpectedAction と一致することを検証します。たとえば、login ページで login アクションが返されます。不一致が存在する場合は、攻撃者が操作を偽装しようとしていることを示しています。ユーザー インタラクションに対して、追加の検証を行う、またはインタラクションをブロックするなどのアクションを講じて、不正なアクティビティを防止できます。

スコアを解釈する

reCAPTCHA のスコアリング システムは、以前のバージョンの reCAPTCHA からの拡張であり、より詳細なレスポンスを可能にします。reCAPTCHA には、0.0 から 1.0 までの値の範囲のスコアを持つ 11 のレベルがあります。スコア 1.0 は、インタラクションのリスクが低く、正当である可能性が非常に高いことを示します。一方で 0.0 は、インタラクションのリスクが高く、不正行為の可能性があることを示します。11 のレベルのうち、デフォルトで使用できるスコアレベルは、0.1、0.3、0.7、0.9 の 4 つのみです。

セキュリティ審査後には、11 すべてのスコアレベルにアクセスできます。11 のスコアレベルへのアクセスをリクエストするには、Google のセールスチームまでお問い合わせください

reCAPTCHA は、サイト上の実際のトラフィックをモニタリングすることで学習していきます。したがって、実装から 7 日以内にステージング環境で得られたスコアは、長期にわたって本番環境で得られたスコアと異なる場合があります。

スコアベース キーをインストールした場合は、最初に何も操作せずに reCAPTCHA を実行してから、トラフィックを確認してしきい値を決定できます。

スコアに基づいて、サイトのコンテキストで適切なアクションを講じることができます。サイトをより適切に保護するには、トラフィックをブロックするのではなく、バックグラウンドでアクションを講じることをおすすめします。

次の表に、実行できる操作の一部を示します。

使用例 対応
ホームページ スクレーパをフィルタリングしながら、管理コンソールにトラフィックの統合ビューを表示します。
login スコアが低い場合は、MFA またはメール確認を必須にして、認証情報の盗み取り攻撃を回避します。
ソーシャル 不正行為者からの未承認の友達リクエストを制限し、危険性のあるコメントを管理者に送信します。
e コマース 実際の販売を bot に先だって実施し、危険性のあるトランザクションを特定します。

理由コード

理由コードはセキュリティ審査の後に利用できるようになります。理由コードへのアクセスをリクエストするには、Google のセールスチームまでお問い合わせください

一部のスコアは、reCAPTCHA がインタラクションをどのように解釈したのかについての詳細情報を示す理由コードが付加されて返される場合があります。

次の表に、理由コードと説明を示します。

理由コード 説明
AUTOMATION 自動化されたエージェントの行動とインタラクションが一致しています。
UNEXPECTED_ENVIRONMENT イベントの発生元が不正な環境です。
TOO_MUCH_TRAFFIC イベント ソースからのトラフィック量が通常よりも多くなっています。
UNEXPECTED_USAGE_PATTERNS サイトのインタラクションが、想定したパターンと大きく異なっていました。
LOW_CONFIDENCE_SCORE このサイトから受信したトラフィック量が過少であるため、品質リスク分析を生成できません。

次のステップ

  • サイト固有のモデルに調整するには、評価 ID を Google に送り、真陽性と真陰性、または正しいエラーかどうかを確認します。詳細については、評価にアノテーションを付けるをご覧ください。