【完全スパム対策】問い合わせフォームContact Form 7
この記事ではお問い合わせフォームの不正利用やスパムメールの対策方法を解説いたします。
本質的な対策を紹介しますので、本記事をお読みいただければWordPressの「Contact Form 7」をお使いの方以外でも、Webサイトを運営するなら誰でも解決することができます。
その場合は「Contact Form 7」専用の記述は読み飛ばして読んでいただければと思います。
「Contact Form 7」といえばWordPressで問い合わせフォームと言えば超定番のプラグインなので、使っている方も多いと思います。
が、初期状態で「Contact Form 7」を利用していると「英語で書かれたスパムメール等が大量に送られてきて困っている」、なんてことありませんか?
例えばこんな英語の他のWebサイトへ誘導させるような内容など。
無視するだけではない不正利用やスパムメール。
ぜひこの記事を読んでスパム対策をして解決していきましょう!
この記事を監修・執筆した専門家
こんにちは!この記事を監修・執筆した斎藤はじめと申します。
私は現役のエンジニアで、普段はWordPressの開発案件などをメインに担当しています。経歴としては誰もが知っている月間数千万人が利用するサービスの開発をしたり、今でも月間数百万人が訪問する規模のWordPressサイトの運営しております。WordPressを触らない日はありません。
そんな私がプロの目で解説していきます!
ズバリ!一番効果的なスパム対策とは?
結論から言います。
「Contact Form 7」に関わらず、一般的なお問い合わせフォームの不正利用やスパム対策として一番効果的な対策方法は「Googleリキャプチャ(Recaptcha) v3」という仕組みの導入です。
理由やメリット・デメリットなどは後述しますが、詳しい導入方法はこちらの記事で解説しています。
※Contact Form 7に使えるバージョンはv3ですのでv3の説明だけ読んでください。
無視ではすまされないスパムメールの怖さ
今はたまに問い合わせフォームにスパムメールが届くくらいだから「無視さえすれば特にサイトには影響ないからスパム対策しなくてもいいや」と思うかもしれません。
しかし、問い合わせフォームのスパムメールには、設定やサイトの運用方法によってはサイトの運営が停止するほどの、時には事業が傾きかねないリスクをはらむことさえあるのです。
現に2022年になり、サーバー業者からも注意喚起メールが来るようになっています。
以下はレンタルサーバーNo1.のエックスサーバーより届いたメール。
この中でもreCAPTCHA v3が推奨されています。
では問い合わせフォームに来るスパムメールにどんなリスクがあるのか具体的に紹介していきましょう。
スパムのリスク① 悪意あるプログラムを仕込まれる可能性
ただの営業スパムメールが届くだけならまだよいのですが、中にはウィルスやワームなどの悪意のあるプログラムファイルを送ってきたり、不正サイトへのURLに誘導しようとすることもあるでしょう。
自分一人が気を付けていても、お問い合わせメールを確認する担当全員が絶対にクリックしないと言う保証はありません。うっかり誰かがクリックしたせいでオフィス中のパソコンがウイルスに感染した!なんて話にもなりかねません。
ウィルスをはじめフィッシング詐欺やトロイの木馬、スパイウェア、ランサムウェアなど、あらゆる悪意あるメールが届く可能性があります。
あらゆる可能性をできるだけゼロに近づけるためにも、スパム対策はやっておいた方がよいと言えます。
スパムのリスク② スパムメールを第三者にメール送信される
おそらく大抵のお問い合わせフォームはユーザーに返信するためにメールアドレスを入力するようになっていて、お問い合わせの申請と同時に完了通知を送ることも多いと思います。
これを利用して悪意あるユーザーが実在する第三者のメールアドレスを入力して、次々とメールが送られてしまったとしたら・・・
そうです。あなたが運営するサイトから一般ユーザー向けに大量にメールを送られてしまうのです。
何も知らず受け取ったユーザーはあなたのサイトが加害者であるかのように受け取るかもしれません。少なくともセキュリティに脆弱なWebサイトとして認識してしまうでしょう。
スパムのリスク③ 大量にメールが届いて必要なメールが埋もれる
これは当たり前ですが、大量にスパムのお問合せメールを送られると本当の大事なメールを見逃しかねません。
何も対応しないでいると、今日スパムが送られてこなくても明日1万通送られてくるかもしれません。その時、1万のメールを全てチェックして仕分けるのにいったい何十時間かかるでしょうか?
また、その1万通がウイルスや詐欺など悪意ある内容でしかも第三者のアドレスに送信されてしまっていたら、、、、
後処理のことを考えると、想像するだけで怖いですね。
いかがでしょうか?
念のためにもスパム対策しておいた方がいい、と思ったのではないでしょうか。
スパム送信者はどうやって送っているの?
ではそのお問い合わせスパムメールの送信者はどんな方法で送っているのでしょうか?
それは大きく2パターンに分かれます。
- ①コンピュータが実際にブラウザを開いて人間のように自動入力を行い送信する
- ②ブラウザを開かずにプログラムから問い合わせフォームに直接通信をして送信
- ③本当に人が送っている
以前の手口では②のプログラム通信が中心でしたが、近年では①のブラウザを実際に操作し、実際の人間が入力しているかのように見せるパターンも増加しており、①②両方の対策が必要です。
③は本当に人が送っているパターン。これは悪事を働くには効率が悪すぎるのでほとんどスパムとしては存在しません。ほとんどが手打ちの営業メールなどでこれを防ぐのはかなり難しいので無視しましょう。
これらからわかるように、近年ではサーバー(送信データ)側のチェックよりもブラウザ(クライアント)側でのチェックが重要になってきています。
全スパム対策方法の紹介
スパム対策方法① Googleリキャプチャ(reCAPTCHA)を導入する
前述のとおりスパム対策やフォームの不正利用では今、一番おすすめの方法です。
Googleリキャプチャ(reCAPTCHA)とは?
Googleリキャプチャ(reCAPTCHA)はGoogleが提供する「フォームの不正利用やスパム対策の認証システム」で、データの送信者が「人間なのかロボットなのか」を判定します。
その認証システム自体は一般的にCAPTCHA(キャプチャ)と言われています。
Google開発したGoogleリキャプチャ(reCAPTCHA)は、現在バージョン3までリリースされています。
この説明だけだとまだ「reCAPTCHAって何?」って思う方も多いと思いますが、おそらく次の項をお読みいただければ「ああ、あれか!見たことある!」ってなると思いますのでこのまま読んでみてください。
「Contact Form 7」はGoogleリキャプチャ(reCAPTCHA)v3に公式に対応しているので簡単な設定で利用することができます。
v2ではユーザーがチェックボックスや画像選択クイズに答えたりとわずらわしさがありましたが、v3では自動で挙動をチェックするのでユーザーは特に認証のために何もしなくてよくなりました。
項目 | 評価 |
---|---|
対スパム効果 | ★★★★★ |
導入の簡単さ |
★★★★★(Contact Form 7等使用) ★★☆☆☆(ツール利用なしで直接自分で導入) |
ユーザーの利便性 | ★★★★★ |
費用の安さ | ★★★★★ |
判断基準 | ブラウザ内のユーザーの挙動 |
導入方法はこちらの記事で詳しく紹介しています。
スパム対策方法② IPアドレスによるアクセス拒否
昔ながらの対策方法の1つとしてIPアドレスによるアクセス拒否というものもあります。
これはIPアドレスというインターネットの送信元を示すアドレス番号を元にアクセスを拒否するというもので、セキュリティやスパム対策の対策としては多く紹介されています。
しかし、近年はインターネット接続の技術が多様化し、IPアドレスを変更したり装ったりすることが素人でも容易になってきました。今では誰でもできる例でいえばモバイル回線をOFF/ONにするだけでIPアドレスは変えられます。
つまりスパム送信者がこのIPアドレス対策を突破しようと思えば、簡単にくぐり抜けられるということです。
また、送られてくるたびにIPアドレスを追加していって自分でメンテナンスせねばならないので後手後手の対応になります。
それゆえにかける労力や防げない割合やリスクを考えると、フォームの対策としては、現在ではそれほど効果の高い施策とは言えません。
ちなみにIPアドレスでアクセスを制御するには以下の方法があります。
・WordPressのプラグインを利用
・レンタルサーバーのセキュリティ設定で行う
・WordPressの設定ファイル.htaccessを編集する
項目 | 評価 |
---|---|
対スパム効果 | ★☆☆☆☆ |
導入の簡単さ | ★★★☆☆ |
ユーザーの利便性 | ★★★★★ |
費用の安さ | ★★★★★ |
判断基準 | IPアドレス |
スパム対策方法③ プラグイン「Akismet Anti-Spam」を使う
AkismetはWordPressにデフォルトで入っているプラグインです。
インストールはされていますが、デフォルトでは有効化されていません。
本来はサイトの記事のコメント欄のスパムを検出して仕分けする機能を追加するものです。
Contact Form 7も公式でAkismetに対応していて、問い合わせフォームのオプション記述を追記することによりスパム対策機能を利用することができます。
Akismetの判定の仕組みとしては、豊富なスパム対策の実績をデータベース化し、その内容を元にコメントやフォームの内容をスパムかどうか判定しています。
ブラウザ側のチェックは行っていません。
Akismet自体は個人利用は無料ですが、商用サイトや企業サイトでは有料となっています。
個人サイトでも広告収益を得たい場合がほとんどだと思いますのでその場合は有料です。
項目 | 評価 |
---|---|
対スパム効果 | ★★★★☆ |
導入の簡単さ | ★★★☆☆ |
ユーザーの利便性 | ★★★★★ |
費用の安さ | ★☆☆☆☆ |
判断基準 | AkismetのスパムDBのデータで総合判断 |
有料と言うこともあり、今回は一番のおすすめの対処法としては、無料かつ精度が高い「Googleリキャプチャ(reCAPTCHA)」にさせていただきました。
ただ、Googleリキャプチャも完全ではありません。akismetはその効果を見て合わせて対応してみるのがよいと思います。
akismetについて詳細はこちらの記事から。
まとめ
最後までお読みいただきありがとうございました!
Contact Form 7の導入方法や実際のスパム対策reCAPTCHAの導入など他の記事はこちらからどうぞ。