お問い合わせフォームのスパム対策にはCloudflare Turnstileがおすすめ
目次
どうも、ウェブ企画パートナーズの竹内です。
今回なんですけど、こないだお客様からいただいたご相談がテーマです。その内容はというと、「ホームページにお問い合わせフォームを設置しているんですけど、そのお問い合わせフォームからスパムのメールがめちゃくちゃ届く」というものでした。
しかも、既にスパムの対策をしていたのにめちゃくちゃ届くということで、「何か解決策はないか」というご相談だったんですね。そこでご提案したものがあるんですけど、それがちょうど記事のネタにいいんじゃないかということで、今回ご紹介させていただきます。
定番のスパム対策「reCAPTCHA」とその弱点
reCAPTCHAとは

まず、そのお客様がすでに利用していたスパム対策なんですけど、それがreCAPTCHA(リキャプチャ)という有名なセキュリティサービスです。
「私はロボットではありません」というチェックボックスにチェックを入れる、あのアイコンを見たことがある方も多いんじゃないかと思います。これは、ホームページに訪れたときのユーザーの動作などを計測していて、そのスコアによって「あなたはスパムなので、お問い合わせフォームを送信できません」とブロックしたり、そういうことをしてくれる、Googleが開発している有名なツールになります。
おそらくシェアも一番多いんじゃないかと個人的には思っています。実際のところはちょっとわからないんですが、かなり多くのサイトで見かけますね。
最新版「reCAPTCHA v3」の落とし穴
ただ、最近はこのチェックボックスを見かけないこともありまして。というのも、reCAPTCHAの最新版であるreCAPTCHA v3だと、チェックボックスにチェックを打たなくても、裏で勝手に計測してくれるという仕組みになっているんですよね。Google自身も「v3はチェックボックスすら不要ですよ」というふうに言っています。
ですが、僕の知識不足だったら申し訳ないんですけど、このv3のチェックボックスを打たない形式にすると、正常なユーザーなのにスパム判定に引っかかってしまうことが結構あるんです。要は「あなたスパムですよ」とみなされた判定が間違っている、ということなんですけど、そういうことがあって、代替となるツールはないかなと探すことが結構多くなってきた、という状況ですね。
有名なツールほどハッカーに狙われやすい
それからもう一つ。こういうのはWordPressとかもそうなんですけど、世の中で多くの人が使っているツールの方が、ハッカーに狙われやすいんですね。
それはそうですよね。攻撃の糸口さえ発見すれば多くの人をターゲットにできるので、多くの利用者が使っているツールを狙うことは、ハッカーにとって結構大事なわけです。誰も使っていないようなツールをハッキングしても相手がいないので、大きいところを狙いたくなるのは当然ですね。ただ、大きいサービスはそれはそれでセキュリティをしっかりしないと大きくなれないところもあるので、一概にどちらが危険とはなんとも言えないところではあるんですけど。
実際、reCAPTCHAについては、フィッシングメールのURLにアクセスすると本物そっくりの偽物のreCAPTCHA画面が表示されて、その偽物のデザインでチェックを打たせることで、スパム被害にあってしまうというような攻撃も最近出てきているみたいなんです。有名であるがゆえに、そういうものの偽装の対象にもなってきてしまっているんですね。
そこで、いいツールが別にありましたので、そちらをご紹介させていただければと思います。
代替ツール「Cloudflare Turnstile」がおすすめ

Cloudflare Turnstileとは
それが、Cloudflare Turnstile(クラウドフレア・ターンスタイル)です。こちらがかなりいいんじゃないかと個人的には思っておりまして、しかも無料で利用可能でございます。
Googleの reCAPTCHA も無料なんですけど、最近ちょっと仕組みが複雑化してるので、こっちの方がシンプルで使いやすいところもあります。
提供元のCloudflareってどんな会社?
このTurnstileを提供しているCloudflareという会社は、相当大きい会社になっておりまして、メインサービスはCDNと言って——これは専門的な用語で申し訳ないですけど——画像などへのアクセスを分散させて、サイトを軽量化させるようなサービスですね。
最近問題になった、というか訴えられた件で言うと、漫画村の事件がありました。漫画村はアクセス数が多すぎるので、それをさばくためにこのCloudflareのサービスを利用していて、「同罪なんじゃないか」ということで訴えられていたと思うんですけど、そのCloudflareですね。それくらい、結構大きいサービスを運営している会社のセキュリティツールになります。
Cloudflare自身が、Turnstileのことを「CAPTCHAに代わる無料の認証手段」と紹介しています。「代わる」って言い切っちゃってるんですよね。
TurnstileにはreCAPTCHAと同じようにチェックを入れる認証マークがあるんですが、このマークも見たことがある人はいるんじゃないかと思います。僕も見たことがあって、「あっ、これね」となったんですよね。これもそこそこいろんなサイトで使われているんじゃないかと思います。
チェックボックス方式だから誤判定が起きにくい
Turnstileは基本的にチェックを打つ方式でいけるので、reCAPTCHA v3のような裏側だけの機械計測と比べて、誤判定という間違いが起きにくいんじゃないかと思っています。
機械計測するのも、必ずしもそれがいけないというわけではないんですけど、チェックボックスがあった方が「このサイトはセキュリティ対策してますよ」というPRにもなるし、これでいいんじゃないかなと個人的には思っているんですけどね。
WordPressなら実装も簡単

このツールが無料で使えるわけですけど、設定については、ちょっとこれはエンジニアさんじゃないと難しいかなと思います。
ただ、WordPressを利用している方に向けて言うと、簡単な方法があります。それがWordPressのプラグインで、Simple CAPTCHA Alternative with Cloudflare Turnstileという、ちょっと長い名前のプラグインなんですけど、これを使う方法です。
この記事を書いている時点(1月11日)で確認したところ、2週間前に更新されていたりとか、結構頻繁にちゃんと更新してくれているプラグインなので、これであれば結構簡単に入れられます。
Contact Form 7と連携できる
さらに、WordPressで多く利用されているフォームプラグインといえば、日本だとContact Form 7が一番多いんじゃないかと思うんですけど、このプラグインはContact Form 7に連携しているんですよ。
なので、Contact Form 7を使っているよという方は、このプラグインを入れて、Cloudflare Turnstileから発行されるサイトキーとセキュリティキーの2つをプラグインの管理画面に打ち込んで、あとはショートコードを入れたいところに入れれば完了する、という非常に簡単な作業になります。
「プラグインを使うのは嫌だよ」という方は、ちょっとエンジニアの方に任せるしかないかなと思いますけど、「プラグインを使ってもいいよ」という方は、簡単に実装できることを弊社でも確認しております。
まとめ
今回は、「お問い合わせフォームからスパムが来て大変だよ」という方のために、「reCAPTCHAも使ってるのに止まらない」という方は、こちらのCloudflare Turnstileがいいんじゃないかというお話をさせていただきました。
「そもそもreCAPTCHAを入れてないよ」という方は、まずreCAPTCHAからスタートしてみてもいいかもしれないですが、最近の弊社はもう、いきなりreCAPTCHAじゃなくて「Turnstileの方がいいんじゃないでしょうか」というのをお客様にご提案しています。「どっちがいいですか?」と聞くと「おすすめの方でいいよ」と言われることがほとんどなので、Turnstileを入れることが多くなっております。
実際、スパムが来ていたサイトにTurnstileを入れたらぴたっと止まるというのを、弊社では何回も確認しております。「これで絶対大丈夫だよ」というのはCloudflareさんじゃないと言えない発言なんですけど、弊社的にはおすすめかなと思っておりますので、良かったら使ってみてください。