LoginSignup
1
1

More than 5 years have passed since last update.

reCAPTCHAv3を使ってみた

Last updated at Posted at 2018-12-10

reCAPTCHAv3とは

簡単にまとめると数々のサイトで使用されている「私はロボットではありません」をチェックさせるアレの最新版です。
reCAPTCHAv2ではユーザがチェックを入れる必要がありましたが 今回のv3ではユーザの操作は一切必要ありません。
詳細は割愛させていただきます。以下参考にどうぞ。
https://developers.google.com/recaptcha/docs/v3

導入方法

とても簡単です。1分もかからないです。

1.以下で登録を行う(Googleアカウントが必要となります)
https://www.google.com/recaptcha/intro/v3.html

v3をチェックしてRegister→ドメインなどの入力事項を埋める

2.フロント側に処理を追加する
登録を済ませるとわかりますが、登録完了後の管理画面に
Keys
Step1
Step2
と表示してくれているので、コピーして導入したいコードの部分に貼り付け。ね!簡単でしょ。

actionに関しては公式を参考に↓

アクション 説明
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.

※アクションによって動作が変わるというより、どういう用途で使うか?と捉えた方がいいかもしれません。
(管理画面での確認しやすさのためにあると思っております)

3.サーバ側に処理を追加する
※サーバ側もやらないとreCAPTCHAの意味がないです

以下の情報を基にapiをたたきます。

URL:https://www.google.com/recaptcha/api.js?render=<サイトキー>
secret:シークレットキー
responce: Step1で取得できるtoken

apiのレスポンスとしては

success: true/false
challenge_ts: タイムスタンプ
hostname: ホスト名
score: 0~1 人間がやると0.9らしい。実際には0.90000000000000002が返ってきた
action: step1で選択したアクション

が返ってきます。
reCAPTCHAv3はこの帰ってきたscoreを基にどのような処理を行わせるかを自分で決めることができます。

例えばログイン画面にreCAPTCHAを導入した場合、スコアが低かったらエラーメッセージを表示してセッションを削除するとかロックするとか…
それぞれのサイトに合わせた動きをさせることができます。

まとめ

・reCAPTCHAv3は非常に簡単に導入できる
・どういった判定基準なのかさっぱりわからないので心配
・管理画面でスコアやアクセス数、どのreCAPTCHAを通ったか(アクションの設定が必要)がわかりやすい

以上、ありがとうございました。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1