ワードプレスのお問合せフォームへ海外からスパムメールが届くのを解決した

パソコンの困った

ワードプレスでブログやウェブサイトの運営をしている方の多くが、「お問い合わせフォーム」を設置していると思います。

一番、王道なのがContact Form 7というプラグインを使った問い合わせフォームでしょうか。

ワードプレスの初心者用サイトには、おおよそこれがオススメの問い合わせフォームプラグインとして紹介されています。

Contact Form 7はとてもシンプルで使い勝手も良いと思うのですが、そのままの設定では海外からのスパムメールを防ぐことが出来ません。

「問い合わせフォームから問い合わせが来た!うれしい!」と思ったら海外からの売り込み等のスパムだった……正直ウザったいですよね。

今回は、こんな海外からのスパムを何とか来ないようにできたのでその方法を紹介させていただきます。

 

解決策はコードの埋め込みでした

参考にさせて頂いたのはキタムラさんのサイトに書いてあった、コードの埋め込みでした。

こちらのページに書いてあったコードを貼り付けて、海外スパム問合せを解決しました!

Contact Form 7 海外からのスパム対策!お問い合わせ本文が全て外国語の場合は送信できないようにする
WordPress ブログを運営していると必ずといってよいほど発生する「お問い合わせからの英語等のスパムメール」。今回は「Contact Form7 を用いたお問い合わせフォームから送信される外国語メールだけをピンポイントでシャットアウトする方法」を紹介します。

記事内では、

以下のコードをコピーして fanction.php に貼り付けてください。

と書いてあり、下にコードがありましたが、「何を言っているのか全然分からん!」という方もいらっしゃるかと思いますのでこの記事では、詳しいやり方を写真付きで紹介させていただきます!

なお、コードはキタムラさんのサイトでコピーして来てくださいね!

画像付きで説明! 問い合わせフォーム海外スパム対策方法

コードをコピーして fanction.php に貼り付ける方法を紹介します。

①キタムラさんのサイトでコードをコピーしてきます。

Contact Form 7 海外からのスパム対策!お問い合わせ本文が全て外国語の場合は送信できないようにする
WordPress ブログを運営していると必ずといってよいほど発生する「お問い合わせからの英語等のスパムメール」。今回は「Contact Form7 を用いたお問い合わせフォームから送信される外国語メールだけをピンポイントでシャットアウトする方法」を紹介します。

右上の赤丸の所を左クリックすると、コードが青く反転するので
青く反転した文字の上で マウス右クリック→コピー でコピー完了です!

②fanction.phpに貼り付ける

fanction.phpってなんなんだよ!?と思われる方が多いのではないでしょうか?

fanction.phpは左のメニューバーの

外観→一番下にある「テーマエディッター」や「テーマの編集」から行くことが出来ます。

開くと警告文が出る事がありますが、そのまま警告を消して進んで大丈夫です!

すると、このような画面になります。この画面は、お使いのテーマによって異なりますのでこれと同じではないかと思います。このサイトではCocoonというテーマを使っています。

子テーマです。

 

fanction.phpは右の赤丸にあります。クリックすると以下のような画面になります。

一番下に、先ほどコピーしてきたコードを 右クリック→貼り付けで 貼り付けます。

なお、このfanction.phpはウェブサイトの見た目を管理しているので、エラーが出ると取り返しがつかなくなる可能性があるので、ワードプレスのテーマは「子テーマ」を使う事をオススメします。

このページも子テーマです。親テーマのfunctions.phpに何か加工を加える場合は、どこかに元のコードを保存しておくとよいかと思います。

親テーマをいじる場合は、上の写真の最後の赤丸の場所では無く、
コード内の
<?php?>
の中に貼り付けないと、表示がおかしくなります。
これはphpのプログラムのルールです。

すると、下のようになります。

コードが追加されました!

最後に、下にある青い「ファイルを更新」ボタンを押してください!
押し忘れると意味がありません!

更新ボタンを押すと以下のように「ファイルの編集に成功しました。」が出ます!

これで終了です!元の画面にもどって大丈夫です!お疲れ様でした。

補足 親テーマをいじる場合

親テーマに変更を加えるときは、コード内の

<?php

?>
の中に貼り付けます。

なお、人によって状況が違う為、エラーが出ても責任は持てません。

あらかじめ、サクラエディッタなどのテキストエディッタソフトを使って、functions.phpをコピー&ペーストして保存しておけば、表示が変になってもすぐに戻せるので安心ですよ!

 

実際に自分にスパムメールを送ってみた

実際に送られてきたスパムメールを問い合わせフォームから送る実験をしてみました。

実験したサイトは、別に運営している木のポータルサイト「木材・材木のススメ」にある問い合わせフォームからです。とにかく海外からの売り込み的なメールが凄いです。

問い合わせフォームから来たメールをそのままコピー&ペーストで貼り付けて送信すると

無事に、弾くことが出来ました!!!良かった!!

キタムラさんのサイトにあるコードは、送られる本文にひらがなが含まれていない場合にこのようなエラーを出して送信できなくしてくれるようです。

海外からのスパムは、ほとんどがアルファベットのみなので十分に対策できていると思います。

 

Akismet Anti-Spam (アンチスパム)では、防ぎきれない!

おそらく、Contact Form 7を使っている方の多くが、一緒にAkismetというスパムを防ぐプラグインを入れているかと思います。(APIキーの設定が上手くいかなくて、入れたはいいけど使っていない人もいるかと思いますが)

ですが、このAkismetだけでは防ぎきれません。

登録してAPIキーをきちんと入力し、使える状態にしていてもこのように0です。あんだけ迷惑メールがガンガン来ているのに!

こちらでいじれる設定項目も、下の写真のこれしかないので正直いってなにも出来ないです。

Akismetだけでは海外からのスパムメールを防ぎきれません。

 

ひらがなを含まない問い合わせを弾くコードをfunctions.phpの中に埋め込むことで対処していきましょう!

コメント