タイトル: reCAPTCHA v3 使い方(サンプル付き)
本稿はreCAPTCHA v3 使い方について説明します。
前提
公式ドキュメントは以下のURLを参照。
https://developers.google.com/recaptcha/intro
reCAPTCHA v3を使用するにはキー登録が必要となる。
以下のURLからキー登録ができる。
headタグ
headタグ内に以下の記述をする。
<script src='https://www.google.com/recaptcha/api.js?render=Site Key'></script> |
Site keyは自身のものを入力する。
formの作成
<!-- 送信ボタン --> </form> <!-- reCAPCTHA --> |
formの送信ボタンを押したらgrecaptcha.executeを呼び出すようにする。
その際にtokenをサーバーサイドに渡してやる必要がある。
Action Nameには以下のものが指定できる。(公式サイトより抜粋)
homepage See a cohesive view of your traffic on the admin console while filtering scrapers. login With low scores, require 2-factor-authentication or email verification to prevent credential stuffing attacks. social Limit unanswered friend requests from abusive users and send risky comments to moderation. e-commerce Put your real sales ahead of bots and identify risky transactions.
※どなたか適切な日本語訳をお願いします。
本稿のサンプルではhomepageを指定する。
サーバサイドの実装
$gRecaptchaResponse = $_POST["g-recaptcha-response"]; if ($response['success'] != true or $response['score'] < 0.5 ){ |
Secret keyは自身のものを入力する。
APIにSecret keyとtokenを渡すことでレスポンスを取得できる。
以下、レスポンスの内容。(公式サイトより抜粋)
{ |
ポイントはsuccessとscoreの値。
scoreの幅は1.0~0.0で低いほどbotである可能性が高くなる。
この値を見てbotかどうかを判断する必要がある。
※どの程度の値を設定することがベストなのか情報求む。人が操作するとだいたい0.9になることが多いらしい。