一度覚えたはずなのに思い出せない、そんな自分のためのメモ代わり

お問い合わせフォームのスパム対策

スパム対策 eyecatch

Contact Form 7で設定した問い合わせフォームに迷惑メールが届くようになってしまいました。

画像はすべてクリックして拡大できます。

目次

届いたスパムメール

まだ数は少ないのですが、転送先に指定しているgmailに、下図のように単語になっていないアルファベットの羅列が1分間に10通くらい連続して届くことが何度かありました。

受信したspamメールの一覧
受信したスパムメール
ウイルス対策ソフトが警告を発する
受信したスパムメールに対し対策ソフトが警告を発する
(図をクリックして拡大)

これがいわゆるスパムメールというものですね。セキュリティソフトからも警告がなされました。

この種のメールには悪徳なオンラインショップや詐欺サイト、フィッシングサイトへの誘導、更にはウイルスなどの不正プログラムに感染させることを目的としているものもあります。単に”迷惑”なだけではないのです。

対策1 問い合わせメールのフォームにチェックボックスを設ける

私自身これらのことについて十分な知見を持ち合わせているわけではないので、ネット上で得た知識で対策を講じました。

まず問い合わせフォームにチェックボックスを設け、チェックを入れないと先に進まないようにします。

↓ お問い合わせページをこれから作る方はここからだよ

お問い合わせページの作成

Contact Form 7 で作成する手順を簡単に記しました。これからお問い合わせページを作る方は参考になさってください。

プラグイン Contact Form 7 をインストールする

ContactForm 7
プラグインを導入します

プラグインをインストールしたら 有効化 → 設定 → 編集 と進み、下図の①から手順に従い設定します。

コード貼り付け手順
初めてお問い合わせページを作る方はこの手順で設置してください(図をクリックして拡大表示)

① プラグイン「Contact Form 7」の設定をクリックするとこの画面になります。ショートコードは最上部に記載されています。

② このショートコードをコピーしてお問い合わせページに貼り付けます

③ これをブラウザで見ると(上図左)フォームが確認できます。フォームは赤点線で囲まれた部分ですので、それ以外の場所には案内文などを記載することができます。

既存のフォームに「承諾確認」を追加する方は次の項目からね

フォームに「承諾確認」を追加

ここから行う作業は、フォームにチェックボックスを設けることです。

□(チェックボックス)にチェックを入れてもらう(承認確認という)ことにより「送信」が可能となります。

既にコンタクトフォーム7を利用されている方は、既存のフォームを開いて「承諾確認」の追加のための編集をおこないます。

既存のコンタクトフォームを開いて編集する
ダッシュボードのメニューで、「お問い合わせ」からスタートします

上図において「お問い合わせ」→ コンタクトフォーム1の「編集」をクリックすると下図のフォーム編集画面になります。

① [submit “送信”]の上の行で一度クリックして(位置を指定して)から「承諾確認」のボタンをクリックします。

「承諾確認」のチェックボックスを設定
「送信」の上の行を一旦クリックしてから「承諾確認」をクリックします

② 「同意条件」の欄に説明の文言を入れます。この文言はチェックボックスに続いて表示されます。

③ 次の項目「オプション」にチェックを入れます。

④ 右下の「タグを挿入」をクリックする。

下図のようにフォーム内に承諾確認の項目(赤線)が追加されます。

送信前に承諾を確認するためのチェックボックスが追加された
「送信」の上の行を一旦クリックしてから「承諾確認」をクリックします

このチェックボックスにチェックを入れないと進入禁止のようなマークが出て「送信」ボタンを押すことができません。
BOTにはチェックを入れるという操作ができないということなのでしょうか。

「承諾確認」の他にもずいぶんたくさんのタグがあるんだなあ

他の機能は焦らず少しずつ覚えることね

承諾確認チェックボックスがとんでもない位置にあることも…

「送信」のための「承諾確認」ですから、チェックボックスは「送信」ボタンのすぐ上にあるべきなのですが…。

チェックボックスがとんでもない位置に

チェックボックスがとんでもないところに設置されてしまいました。

作業直前のカーソルの位置がその辺りにあったのでしょう。

「送信ボタン」の近くに移動しましょう。

案内文を適切な位置に設置する
フォームの画面

タグの部分( [acceptance …] ~ [/acceptance] )をそっくり切り取って、「送信」の上の行に移動します。

ワンステップ戻ってやり直してもかまいません

チェックを入れるという遠回りの余計な作業をしないと送信そのものができないのですが、敵もさるもの、□にチェックを入れることを上手く回避するものもあるらしく、スパムが届いてしまうという話もあります。現在様子見です。

WordPress利用満足度No.1のレンタルサーバー【ロリポップ!】

対策2 reCAPTCHA を利用する

reCAPTCHAとは

このreCAPTCHAというのはgoogleが提供しているサービスの一つです。

私はロボットではありませんのgif画像

□私はロボットではありません…。このような画像をご覧になったことがあると思います。

これにチェックを入れさせたり画像を選択させることによりロボットとは区別しようとするもので、スパムメールの送信や不正ログインなどの悪意のある攻撃からウエブサイトを守るために使用されています。

新バージョンの Contact Form 7 ではV2ではなくV3を使用

reCAPTCHAにはV2とV3があります。V2のバージョンアップしたものがV3というわけではありません。別物と考えた方がいいでしょう。

前項で記述したチェックボックスはバージョンV2によるものです。

ただし最近のバージョンのContact Form 7 ではV2は使えないようです。よってV3を入れました。なのでチェックボックスは現れません。

reCAPTCHA V3 を導入する

reCAPTCHA の導入は次のステップで行います。

STEP
プラグイン Google reCAPTCHA をインストールする

プラグイン「Advanced Google reCAPTCHA」をインストールして「有効化」します。

プラグイン Advanced Google reCAPTCHA
プラグイン Advanced Google reCAPTCHA

なお、前もってGoogleアカウントを取得しておく必要があります。Gmail を使っていればOKです。

プラグインの一覧から「Advanced Google reCAPTCHA」の設定をクリックします。

インストールしたプラグイン一覧

 次のキー設定画面であなたのドメインを登録の文言をクリックするとドメイン登録画面になります。

STEP
ドメインを登録する

ドメインを登録してサイトキーとシークレットキーを取得します。
既述の通りgoogleのアカウントが必要です。

ドメインを登録してサイトキーとシークレットキーを取得
ドメインを登録してサイトキーとシークレットキーを取得

① 分かりやすい名称を付します。他と区別できれば何でも構いません。

② タイプ(V2又はV3)を選択します。
  新バージョンのコンタクトフォーム7はV2には対応していないようなので、V3を選択します。

③ 導入するサイトのドメインを入力します。http などは省きます。

【参考】「abc〇〇XX.com」に入力した例を下図に示します

ドメインの入力例
ドメインの入力例
STEP
キーを取得する

前項において「送信」するとサイトキーおよびシークレットキーが表示されます。

サイトキーおよびシークレットキーの入手
サイトキーおよびシークレットキーの入手

この画面を残しておくかメモ帳などにコピーしておきます。

STEP
reCAPTCHAを設定する

プラグイン reCAPTCHA の「設定」をクリックして開く画面で、このサイトキーおよびシークレットキーを入力します。

サイトキーとシークレットキーを入力


画面左下にある「変更内容を保存」をクリックして終了です。

なおサブドメインに設定するときもこれらの同じキーを使用します。
これらのキーはメインドメインで確認できますので、別途メモをしておく必要はありません。

STEP
サイトで設定完了を確認

サイトのページ右下に下図のような「reCAPTCHAバッジ」が表示されていれば、正しく設定されています。

画面右下にアイコンが表示されたら動作している

スパムメールは解消したが、引き続きセキュリティ対策には留意

チェックボックスとreCAPTCHAの両方を設定しました。

そのどちらの効果によるものか、たまたまなのか分かりませんが、それ以後スパムメールは届かなくなりました。

将来の保証はありませんが。とりあえずの対策は施したところです。

(おわり)

目次