ブログ
ニュース & ブログ
reCAPTCHAでボット対策
公開日:2021.06.28
みなさんは、メールフォームから送信されてくるスパムメールに悩んでいませんか?
酷いものにになると1日に何百通も届いて、業務に支障がでることもあります。
こまったものですよね。
メールクライアントやメールサーバでフィルタリングをするなども有効ですが、今回はメールフォーム自体に対策を講じる場合に使えるGoogleの「reCAPTCHA」を紹介し。次回、それをSymfonyで実装までしてみたいと思います。
悪いbot(ボット)について
メールフォーム、会員登録フォーム、ログインフォーム、商品購入フォームなど、インターネット上に公開されているフォームには、悪意のあるユーザーからの不正なリクエストにさらされています。
メールフォームであれば、海外から英語、ロシア語、中国語などで、メールが大量に届く
ログインフォームに数多くのログインを試みるアクセスログが多いなどの経験がないでしょうか?
このようなアクセスのほとんどは、bot(ボット)とよばれるプログラムが人間の変わりに行っています。
reCAPTCHAはボット対策
「reCAPTCHA」はこの不正なbot(ボット)を識別するための仕組みです。
以下の画像、以前はよく見かけたことはないですか?
「自動車」「信号」などの写真を選択させて、「I'm not a robot(私はロボットではありません)」を証明するためのフォームで、この「reCAPTCHA」は、2014年にリリースされた、「reCAPTCHA v2」になります。
これはどうでしょう?
写真を選ぶ必要はなく、「I'm not a robot(私はロボットではありません)」を選択するだけてよくなってます。
(使いやすくなってますよね!)
これは、2018年にリリースされた「reCAPTCHA v3」です。
「reCAPTCHA v3」は、上記、「チェックボックス型」と、ユーザーにアクションを求めない「インビジブル(不可視)型」の2種類があります。
「reCAPTCHA」はこのように、ユーザーの操作を邪魔しないように、ユーザーフレンドリーな進化をしており、2020年には「reCAPTCHA Enterprise」がリリースされました。
「reCAPTCHA Enterprise」になると、GoogleCloudの一部となっており「v2」「v3」との扱いがまったくことなります。「reCAPTCHA Enterprise」「v2」「v3」ともに、1か月あたり100万回までのリクエストは無料で、Googleアカウントが必要となりますが、「Enterprise」についてはクレジットカードの事前登録が必要となります。
このような便利な仕組みが無償で使えるなんて、素敵ですね。
今回は「reCAPTCHA」の軽い紹介だけさせていただきました。
次回は、Googleアカウントだけで利用できる「v3」を使ってSymfonyで実装をしてみたいと思います。