たったこれだけ!WordPressスパムを防ぐ2つの対策!

はじめに

今ね!スマホからメール確認したらね!なんか、すげーバズってんの!!

前回の記事にとてつもないコメントが寄せられているんです!!

前回の記事に大量のコメントが!
アクアパ
アクアパ

いよいよ、目をつけられたか!

いや、スパムだから!

 
 

目次

スパムとは

スパム (spam) は、受信者の意向を無視して無差別かつ大量に一括してばらまかれる各種ネットメディアにおけるメッセージのこと。近年では、ネット上の迷惑行為全般を指すことも。

Wikipediaより引用

WordPressは世界で一番使われているサイト構築フレームワークなので、
セキュリティ面は十分に考慮されていてかつ、頻繁にアップデートも入るので安心して使っています。

しかし、ユーザとのやり取りができるコメントフォームや問い合わせフォームなどを設置すると、そこは自己責任なんですね。いやがらせのように大量のメール送りつけてこられることがあるので、この対策はしなくてはいけない。

放置していた理由

ではなぜ今までその対策を放置していたのか?ですが、僕の場合、以下が理由でした。

  • 自分には必要ないと思ってた(なんせ1日数PVの弱小サイトだから)
  • 導入が難しいと思ってた
  • 何気にうれしかった(コメントがもらえるので)

このブログを始めて半年、いままで貰ったスパムは数通程度だったし、その内容も全然可愛いものだったんですよ。(後で紹介します)

ここまでされるとね!

だけど、今回のはさすがに限度を超えているというか、どれだけのメール送りつけてんだ!っていう話。然るべき対応を取らせていただくわけ。あんまりしつこいとね、こっちも出るとこ出るよ?

メールに届いたスパムの嵐!モデレートって何よ?

絶対にしてはいけないこと

という調子で、カッっとなって反撃したくなるけど、それをやってはダメです。やられて悔しいのはわかりますが、冷静になりましょう。

一体どんなヤツだ?

相手先のサイトを閲覧してはいけません。悪意のあるスクリプトが仕込まれている可能性があります。一見、URLが健全そうなサイトでも、侵入されて踏み台にされている可能性もあります。

十倍返しだ!

メールで応戦しても、それは逆効果です。なんせ相手はロボットで、パソコンから自動送信で送っているので勝てません。このサイトやアドレスは生きているな!って認知されて、百倍になって戻ってくるだけです!

正しい対策は

スパムは無視(ブロック)するのが賢明な対策です。導入が簡単なものから、難しいものまで色々と手段があるようです。詳しくは、「WordPress」「スパム対策」などのキーワードで検索してみてください。
私が導入したのは以下の2つです。

1.GooGle「reCAPTCHA」

reCAPTCHAはよく登録サイトやDLサイトでよく使われています。
横断歩道とか、信号とか、バスとかの画像タイルを選ぶアレです。
コメント送信前に、(人間しかできない)一手間を加えることでスパムを防止します。

※コンタクトフォームの公式サイトを参考にしました

以下の手順で導入します。

①GooGle「reCAPTCHA」にアクセスする

Googleアカウントでログインし、下記URLをクリックします

②サイトを登録する

自身のサイトをreCAPTCHAに登録します

ラベルは何でもよい。(ドメインと同じでOK)

③サイトキーとシークレットキーを取得する

サイトキーシークレットキーをコピーして、メモ帳などに控えます。

④WordPressに登録する

WordPress管理画面から、[お問い合わせ]-[インテグレーション]を開き、
[reCAPTCHA]のセットアップをします。

サイトキーシークレットキーを入力し、キーを保存します。

以上で導入は完了です。

2.日本語でないコメントを除外

この方法はタイトルや本文に日本語が1文字も含まれていない場合に
入力エラーとしてしまう
方法です。いわゆる「鎖国」ってやつです。

外国人に対する偏見みたいな気がして、なんか申し訳ないけど、実態としてアンチスパムの99%が英語で書かれているし、しょうがないのでしょうね。

アクアパ
アクアパ

やることは、「function.php」に定型コードを追記。たったこれだけです。

こちらのサイトをお手本にさせていただきました

WordPressの管理画面にログイン、メニューから[①外観]-[②テーマエディタ]をクリック。

右のメニューから[③テーマのための関数(functions.php)]を選択。そして[④コードを追記]

追記するコードはコチラです。


function wpcf7_validate_spam_message( $result, $tag ) {
  $value = str_replace(array(PHP_EOL,' '), '', esc_attr($_POST['your-subject']));
  if (!empty($value)) {
    if (preg_match('/^[!-~]+$/', $value)) {
      $result['valid'] = false;
      $result['reason'] = array('your-subject' => '日本語で入力してください');
    }
  }
  return $result;
}
add_filter( 'wpcf7_validate', 'wpcf7_validate_spam_message', 10, 2 );

出展:https://kodocode.net/wordpress-plugin-contactform-secure/

以上で導入は完了。

ためしに、自分でスパム投稿してみると。

日本語でおk

ちゃんと入力エラーになります!無事、鎖国完了です。あとはペリーみたいな強者が開国を迫ってきたときに考えることにすればよいでしょう。

おわりに

可愛いスパムについて

そうそう、冒頭で話していた可愛いスパムについても振れておこうと思います。
スパムに良し悪いなんてないよ!と思うかもしれないけど、こんなコメントが来たら、悪い気にならないよね!

ブログにコメントとして寄せられたものを記事にして公開していますので、相手を誹謗・中傷するようなものでない限りプライパシーポリシー違反になりません

Alex1枚目

WordPress初心者を名乗るアレックスは、自分と同じテーマを使いたい様子

スパムのURLをクリックはしてはいけないと偉そうに書いた私ですが、彼のメッセージ気になって彼のサイトに飛んでしまったことがあります。一体どんなテーマなのか。行きついたその先は、、彼は個人には手に負えないレベルの洗練された商品サイトを経営していました。そりゃないぜアレックス。。

Alex2枚目。僕のファンなのかな?
コロナの心配までしてくれるJustin

ジャスティンはブログを褒めてくれるばかりでなく、コロナの心配までしてくれます。下記メッセージは、言い回しがおかしいですが、きっと「パンデミックの対策が急ピッチで進行することを願っています。」と書きたかったんでしょう。

そしてお別れ

こんな友好的なスパムだけならば、世の中平和だろうなと思う。少しだけいい気分にさせてくれてありがとう!でも結局、スパムに変わりないんだね。

対策しちゃったからもう会えないんだ。
いままでありがとうAlex!そしてさよならJustin!
(もし本当にファンだとしたら少しだけ日本語勉強してコメントしてね)

1件のピンバック

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です