WordPressのお問い合わせフォームといえば「コンタクトフォーム7」なんですが、とりあえずでお問い合わせフォームを設置していると結構な確率でスパムが送られてくることがあります。
それでこのスパム対策なんですが通常は「reCAPTCHA」を使いますが、これを使おうとするとAPIキーを取得しないといけなかったり設定や管理がめんどうなので私の場合はとりあえずコンタクトフォーム7に組み込みの機能である「クイズ」を使おうと思いました。このクイズを使ってテキスト認証を追加する方法を提案します。
スパムによる実害
今回はコンタクトフォーム7のスパム対策にクイズを使う方法を提案するわけですが、セキュリティに関することなので理解したうえで使用する必要があります。そこでまずスパムによる実害を理解しておく必要がありますのでこの実害についてどのようなものがあるかを下記に書いていきます。
- ウイルス:コンピューターシステムに侵入し、感染したファイルを他のプログラムに感染させることで、システムの機能を妨害するウイルスがあります。
- トロイの木馬(トロイの木馬):正当なプログラムに潜り込んで、ユーザーが気づかないうちに不正な操作を行うコードです。個人情報の盗難やシステムの制御を乗っ取る目的で使用されることがあります。
- ランサムウェア:ファイルを暗号化してアクセスを制限し、復号化キーを要求する悪意のあるコードです。被害者が身代金(ランサム)を支払わない限り、ファイルにアクセスできなくなります。
- スパイウェア:ユーザーの活動を監視し、個人情報やオンラインアクティビティを収集するコードです。収集した情報は、広告のターゲティングや不正な目的で使用される可能性があります。
- キーロガー:ユーザーがキーボードを操作する内容を記録するコードで、入力されたパスワードや機密情報を盗み取ることができます。
コンタクトフォーム7から送られてきたスパムメールのリンクを踏んでしまうと上記のようなウイルスに感染してしまう可能性があることは理解しておかなければなりません。
reCAPTCHAを使わずに「クイズ」を使う理由
reCAPTCHAを使わずに「クイズ」を使う理由は、さきほども言った通りAPIキーなどの管理がめんどうだからです。そもそもreCAPTCHAとは人間とコンピュータープログラムを区別するだけのものであるため攻撃者が手動でスパムを送信しようと思えば簡単に送信できると思います。
つまりreCAPTCHAは完全なスパム対策にはならないので、だったら組み込みの「クイズ」でいいのでは?というのが「クイズ」を使う理由になります。
コンタクトフォーム7のフォームにクイズ(テキスト認証)を設置する方法
コンタクトフォーム7の「クイズ」は文字通りクイズなのですがこれを簡単なテキスト認証として使います。
以下よりコンタクトフォーム7の「クイズ」を使う方法を解説します。
フォームの管理画面でフォームを選択して、クイズタブを選択します。
そしてクイズを設定するは問題と解答を設定する必要がありますが、これが少し特殊なやり方になっていて以下のように問題と解答をパイプでつなぎます↓
日本の首都は?|東京
以下の画像は実際に問題と回答を入力した例です↓
入力が終わったらタグを挿入ボタンをクリックして完了です。←ちなみに「クイズ」はデフォルトで入力必須項目になってます。正確に言えばクイズに正解しないと送信できないようになっているので強制的に必須になるというわけです。
まとめ
コンタクトフォーム7のフォームで「クイズ」を使ってテキスト認証する方法を紹介しました。これでスパムが防げるかどうかはまだわかりませんが、様子を見ながら運用していこうと思います。これでスパムが収まらない場合はreCAPTCHAや他のテキスト認証プラグインを使えばいいだけだと思います。
WordPressをはじめませんか↓
コメント