Home > ブログ > reCAPTCHA v3対応の修正作業

ブログ

reCAPTCHA v3対応の修正作業

お客様のサイトのお問い合わせフォームに、自動投稿ツールによるものと思われる営業投稿が頻発して困っているとご相談をいただきました。

reCAPTCHAを導入すれば終わりかとも思ったのですが、クラウドソーシングサイトで見つけた業者さんにすでにreCAPTCHAを導入してもらっているのだが、状況が変わらないということでした。

reCAPTCHAをパスする優秀(?)な自動投稿ツールでも使っているのかと思ったのですが、調査したところ、単にサーバー側の検証処理が行われていないのが原因でした。

問い合わせフォームにreCAPTCHA v3を導入した場合、全体の流れは図1のようになります。

reCAPTCHA v3の流れ
図1 reCAPTCHA v3の流れ

実際、reCAPTCHA v3に対応する際には以下の2点の作業が必要になります。

(1) HTMLの修正

https://developers.google.com/recaptcha/docs/v3 の "Automatically bind the challenge to a button" にある1. - 3. のHTMLの修正を行います。

これによりページ表示後、ユーザの入力が監視されるようになり、送信ボタン押下時に検証用の情報がGoogleのサーバーに送信されるようになります。図1の上の黄色い四角で囲んだ部分がこれに該当します。

(2) サーバー側での検証処理の追加

(1)の修正により、送信ボタン押下後に、ユーザの操作がどの程度、人によるものだった可能性があるかを示す採点がGoogleのサーバーで行われます。

このため、フォームの入力がPOSTされた後で、サーバー側でそのscoreを取得して評価する必要があります。これが、図1の下の四角で囲んだ部分です。

サーバー側の検証処理の実装方法についてはここでは説明しませんので、詳細は https://developers.google.com/recaptcha/docs/verify を参照してください。

今回お問い合わせいただいたケースでは、詳しくない人が作業したのか、意図的にサボったのかはわかりませんが、(1)のHTMLを修正しただけだったので、ページ上にreCAPTCHAのロゴは表示されていましたが、実質何のチェックもされていない状態でした。

今回は、サーバー側での検証処理を追加して作業完了しました。

同じように大量の自動投稿で困っているようでしたらお問い合わせください。reCAPTCHAに対応した問い合わせフォームを提供することもできますし、既存のフォームをreCAPTCHAに対応することもできます。

それにしても、結構な頻度で同じ会社から問い合わせ(というか売り込み)が来ていたようなのですが、これは逆効果なんじゃないかね。

投稿日:2022/12/27 21:41

タグ: 作業実績

Webサーバーのことで何かお困りですか?
ちょっとしたことから対応できます。
お困りのことがございましたらお気軽にお問いあわせください。
詳細はこちら

PHP8対応作業はこちら

Top

アーカイブ

タグ

Server (24) 作業実績 (17) PHP (15) プログラミング (15) ネットワーク (12) C (8) OpenSSL (8) C++ (7) PHP関連更新作業 (7) EC-CUBE (6) Webアプリ (6) Nginx (5) AWS (4) 書籍 (4) laravel (4) Linux (4) JavaScript (4) Rust (3) Vue.js (3) 与太話 (3) Symfony (2) Golang (2) OSS (1) MySQL (1) お知らせ (1) デモ (1) CreateJS (1) Apache (1)