【ボット対策でよく見るアイツ】reCaptcha の導入方法
何の記事??
ログイン画面などでボットによるアクセス対策をしたい時があるかと思います。その時に簡単に対策できるサービスである「reCaptcha」の使い方を紹介します。
色々な Web サービスで画面下部に reCaptcha を使用しています的なメッセージをみることが多くなってきました。
セキュリティは、いつでも課題でありボットなんかの攻撃も増えているため非常に
こんな感じのやつですね。
準備
Google アカウントが必要になります。下記リンクでログインして下さい。
するとこのような画面が出て来るかと思います。
今回は reCAPTCHA v2 を紹介しますね。
reCAPTCHA v2 にチェックを入れるとドメインを登録する欄が表示されます。
後は簡単です。ドメインを登録しましょう。
実装
実装部分はドメイン登録すると step 別に書かれているので難しくはないです。
step 1 に書いてある javascript の設定と html をフロント側のプログラムに追記して下さい。
続いて step 2 です。
先ほど html で挿入した reCaptcha からフォーム送信先に g-recaptcha-response という名前で送信されてきます。最終的にサイトに記載の URL に送られてきた値の妥当性を確認します。リクエストボディの response には先ほど送られてきた値を secret にはサイトに記載の値を設定します。
妥当性を確認する API からのレスポンスで success が true になっていれば認証を通します。
下記に公式のドキュメントのリンクを貼っておきます。
Verifying the user's response | reCAPTCHA | Google Developers
最後に・・・
最近は、ボットによる攻撃が結構多いんですね。reCaptcha は結構ボット対策としては導入コストも少なく難易度も低いのでさすが Google といった感じですね。
今では invisible も出ていて、わざわざチェックを入れる必要もないバージョンも出ています。おそらく、それまでの行動からボットなのか人間なのかを判別しているのかなと思っています。
判断が微妙な場合には問題が出てきますが、たしかにこの問題を解かなくて良いとなるとだいぶユーザーに優しいシステムになりますよね。
それにしても reCaptcha の問題難しすぎませんか!?笑