エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


Throws SPAM Awayでコメントスパム対策を完璧に。自動削除で運用の手間ゼロ

      2017/03/12

コメントスパム対策の最終兵器・Throws SPAM Away

 

Throws SPAM Awayとは?

 
「Throws SPAM Away」は、コメントスパムを自動的に判断し、スパムコメントがなかったものとして処理をしてくれるプラグインです。
 
WordPressのサイトは、コメントスパムに狙われがちです。
最初から「Akismet」というコメントスパム対策のプラグインが入っているくらいで、一般的にはこの「Akismet」を利用することを推奨しています。
 
「Akismet」は、投稿されるコメントをスパムなのか、否かを自動的に判別してくれるプラグインで、精度も高く有効なプラグインです。
「Akismet」がスパム判別したコメントは「スパム」の一覧に入り、公開されているサイト側にはスパムのコメントは表示されなくなります。
 
スパムと判定されたものの中には、「スパムではない」ものもあると考えるならばこの処理は非常にありがたい機能なのですが、コメントスパムは大量に投稿されてくるので、コメントスパムなわけですので、いちいちチェックすることも大変なわけです。
また、スパムのリストの中に大量に入っているスパムのコメントをその都度削除するのも面倒な作業です。
 
 
そんなときに役に立つのが今回紹介するプラグイン「Throws SPAM Away」なんです。
 
「Throws SPAM Away」は、投稿されてくるコメントを判別し、スパムと判定されたものは投稿がなかったものとして自動的に削除までしてくれます。
なので、コメントスパムがあったとしても、何もなかったようにサイトを運営することができます。
 
 
インストールして初期設定のままでもおおよそ問題なく運用をすることもできますが、さらに細かな設定を行って、オリジナルなコメントスパム対策を施すこともできます。
 
 
また、初期設定では、削除したスパムコメントはそのまま消えてなくなりますが、削除したコメントの情報を見る設定も用意されていて、実際にどれくらいのスパムコメントが投稿されていて、どのような内容だったのか、を確認することもできます。
 
 
ちなみに、WordPressのオフィシャルサイト上にあるプラグインの説明ページに結構詳しく解説が記載されています。
日本の方が作られたプラグインですので、説明も日本語で書かれています。
  https://wordpress.org/plugins/throws-spam-away/
 
 

Throws SPAM Awayのインストール方法

 
WordPressのプラグインのインストール方法は、「WordPressプラグインの3つのインストール方法解説」に記事を書いていますので、そちらを参考にしてください。
 
 


 

Throws SPAM Awayの設定方法

 
「Throws SPAM Away」をインストールすると、管理画面の左ナビゲーションに「Throws SPAM Away」というメニューが追加されますので、それをクリックすると設定画面に遷移します。
 
20161009_wp_01
 
設定画面は 1ページで完結していまして、画面上部にあるリンクはページ内のアンカーリンクになっています。
 
また、制作者が日本の方で、各項目も日本語で分かりやすく説明が書いてありますので、わざわざ説明するまでもないかとは思いつつ、解説をしていきます。
 
 

スパム対策機能 設定

 

人の目には見えないダミーの入力項目を作成し、そこに入力があれば無視対象とする

下記のイメージのように、人が作業する場合には見えませんが、自動化されたスパムプログラムにはあたかも入力項目があるように見える項目を追加します。
追加した項目に入力があった場合は、人が手作業で入力した項目ではないため、スパムコメントと判断します。
 
20161009_wp_02
※実際のコメントスパムのデータを取得した結果は、後述の「Throws SPAM Awayでコメントスパム対策を完璧に。自動削除で運用の手間ゼロ/スパムデータ」の画面で確認することができますが、この設定がいかに有効かが確認できます。
 逆に、どれだけコメントスパムにロボットが多用されているかが分かりますね。
 
 

日本語が存在しない場合、無視対象とする

コメントスパムは海外から行われることが多いため、英語のみのコメントの場合はスパム判定します、という設定です。
 
 

タイトルの文字列が含まれる場合、日本語としてカウントしない

前項目とセットで有効になる項目ですが、英語のみのコメントの場合はスパムとして判定されることを知っている海外の方々は、ブログのタイトルをコピペして利用することで「英語のみ」にならないようにする場合があります。
そのような場合に対処できるよう、タイトルの文字列が使われてもその文字数は日本語としてカウントしない、という設定です。
タイトル以外の、本文から取得したテキストや、全く関係ないサイトから適当な文字列をコピペして使っている場合は意味がないですが。
 
 

日本語文字列含有数

前々項目、前項目と合わせて設定する項目ですが、どれくらいの日本語文字列が入っていると「日本語が入っている」と判断するかの文字数を設定します。
デフォルトで 3文字。3文字までは NGで、4文字から OKという判定になります。
 
意味がない日本語文字列をコピペして投稿してくるスパムコメントも多いので、3文字、4文字程度ではなく、10文字程度を条件としておく方がいい場合もあるでしょう。
 
 

元の記事に戻ってくる時間(秒)

スパムコメントとして判定した場合にエラーメッセージを表示するか、否か。表示する場合はどれくらいの時間表示しておくか、を指定する項目になります。
 
表示されるメッセージは、下記のようなものなのですが、0以外の数値を入力するとその入力された数値の秒数分だけエラーメッセージを表示し、その後にコメント入力画面に戻るようになります。
デフォルト設定の「0」の場合は、エラー画面は表示されず、コメント入力画面がすぐに表示されます。
 
20161009_wp_03
 
 

コメント欄の下に表示される注意文言

コメント入力画面の下に編集される注意文言を任意の文章に変更することもできます。
 
20161009_wp_04
 
※このブログで利用しているテーマ「Stinger」ではこれを変更しても編集される場所は変わりません。そんなテーマもあるようです。
 
 

日本語文字列規定値未満エラー時に表示される文言

「元の記事に戻ってくる時間(秒)」の項目で、エラーメッセージが表示される「0」以外の数値を設定している場合に表示されるメッセージを変更することもできます。
 
海外からのコメント投稿が考えられる場合などは、英語のメッセージを追記する、といった対応もあってもいいのかもしれません。
 
 

URL文字列除外 設定

 
20161009_wp_05
 

URLらしき文字列が混入している場合エラーとするか

投稿されたコメントに URL(らしき文字列)が記載されている場合、スパムコメントと判断するか、否かの設定です。
コメントスパムは、URLを記載してほかのサイトへのアクセスを誘導するために行う場合がほとんどですので、URLの記載をチェックすることは有効です。
ただ、1個、2個の URLでもスパム判定してしまうと、通常のコメントでもスパム判定されてしまう可能性もありますので、初期設定の「3」個くらいが適正なんだと思います。
 
ちなみに、「する場合の制限数」を「3」とした場合は、3個までは OKで、4個以上の URLの記載がある場合にコメントスパムとして判断します。
 
 

URLらしき文字列混入数オーバーエラー時に表示される文言

前項目の設定で、URLが複数編集されている場合にスパムと判断する設定にしている場合で、スパム判定をした場合に表示されるエラーメッセージを指定する項目になります。
初期設定は入力がありませんが、入力がない場合は、一瞬画面遷移はするもののエラーメッセージは表示されず、すぐにコメント入力画面に戻ってきます。
 
エラーメッセージが表示される時間は、先に説明した「スパム対策機能 設定」の「元の記事に戻ってくる時間」で設定される時間なんだと思います。
 
 

NGキーワード / 必須キーワード 制御設定

 
この項目は、コメントスパム対策としても利用できますが、コメント機能を利用してコメント欄を荒らしに来る方々の対応としても利用できる機能です。
 
「Throws SPAM Away」の基本的な機能は、日本語以外のコメント投稿を排除するものですが、この NGキーワード機能を使うことで一味違ったカスタマイズも可能になります。
 
20161009_wp_06
 

その他NGキーワード

あらかじめ投稿されたくない「NGワード」を登録しておき、それに該当する投稿があった場合にエラーにするという機能です。
いわゆる、公序良俗に反するキーワードが入力された場合にエラーとして処理する場合などに利用します。
 
日本語でもいいですし、英語でもいいですし、複数ある場合は半角カンマで区切っていきます。
複数指定した場合は、いずれかに該当するとエラーとして処理されます。
 
 

NGキーワードエラー時に表示される文言

前項目で入力された文字列が「NGワード」に該当すると判定された場合に表示するエラーメッセージを編集します。
 
ここのエラーメッセージは、表現方法によっては余計にあおってしまう場合がありますので、慎重な検討が必要でしょう。
 
 

その上での必須キーワード

コメントとして受け付けるために必要な必須のキーワードを指定指定することができ、そのキーワードの入力がない場合はエラーとして処理をします。
 
NGキーワードと同様に、日本語、英語、いずれでも問題なく、複数ある場合は、半角カンマで区切っていきます。
 
複数指定した場合は、すべてのキーワードが含まれないとエラーとなりますので、登録キーワードが多いほど判定としては徐々に厳しいものになっていきます。
 
コメントスパム対策としてこの機能を利用する場合は、日本語で「この文字列を入力してください」と説明書きをしておくという使い方もできますね。
 
 

必須キーワードエラー時に表示される文言

前項目で入力必須のキーワードが入力されていない場合に表示するエラーメッセージを編集します。
 
 

トラックバックへの対応設定

トラックバックを利用して、管理者を狙うスパムも存在しています。
 
具体的には下記のような攻撃を防ぐ機能です。
攻撃者は、不正なサイト(閲覧者をウイルスに感染させるためのサイトなど)を作成し、そのサイトからリンクを設定します。
そうすることで、トラックバックの通知がコメントに反映されます。
 
自身のサイトにリンクが張られたという通知が来ますので、管理者はどんなサイトからリンクの設定があったのか、確認のためにトラックバックの通知サイトのリンクをクリックします。
 
しかし、移動した先のサイトは、移動してきた閲覧者を攻撃するためのサイトですので、それによって管理者のパソコンがウイルスに感染する、といったことになるわけです。
 
こうした管理者を狙ったスパムにも対応する機能がこの「トラックバックへの対応設定」になります。
 
20161009_wp_07
 

上記設定をトラックバック記事にも採用する

トラックバック記事にも採用する場合は「する」を指定します。
これにより、これまで設定してきた内容(たとえば、日本語が含まれない記事からのトラックバック)の場合はスパムと判定する、ということになります。
 
 

トラックバック記事にも採用する場合、ついでにこちらのURLが含まれているか判断する

前項目を「する」にした場合、トラックバックの記事内にこちらの URLが含まれない場合にスパムとして処理する場合は「する」を選択します。
 
 

投稿IPアドレスによる制御設定

 
20161009_wp_08
 

SPAMブラックリスト利用

あらかじめスパムのブラックリストとして蓄積されている IPのリストを基にしてスパム判定を行うか、否かを設定します。
利用する場合は「スパムブラックリストサービスに登録されているIPアドレスからのコメントを拒否する」にチェックを入れて「利用するスパムブラックリストサービスをテキスト入力」に利用するスパムブラックリストのサービスサイトの情報を入力します。
 
スパムブラックリストのサービスサイトとしては、下記のものが例として挙げられています。
 bsb.spamlookup.net
 bsb.empty.us
 list.dsbl.org
 all.rbl.jp
 
 

WordPressのコメントで「スパム」にしたIPからの投稿にも採用する

WordPressの標準機能である、コメントを手動で「スパム」判定する処理で、「スパム」と判定した IPアドレスを自動的にスパム対象の IPアドレスに登録する機能です。
 
 

任意のIPアドレスからの投稿も無視したい場合、対象となるIPアドレスを記述してください。

前々項目、前項目は、スパム判定をする IPを自動的に登録していく処理ですが、手動で IPを登録する場合には、こちらの項目に登録していきます。
複数登録する場合は、1つの IPで 1行ずつ登録します。
ただ、カンマで区切って登録した場合は、自動的に改行されて登録されますので、カンマで登録する方法でも問題ありません。
 
 

ブロック対象のIPアドレスからの投稿時に表示される文言

「投稿IPアドレスによる制御設定」の項目で設定する IPアドレスに関連したスパム判定をする処理を実行した際、スパムと判定されたコメントに対して表示するエラーメッセージを編集します。
 
 

IP制御免除 ホワイトリスト

「投稿IPアドレスによる制御設定」の各項目に登録されている IPであってもスパム判定しない IPがある場合は、この「IP制御免除 ホワイトリスト」に IPを登録することでスパム判定の対象から外すことができます。
 
また、「ホワイトリストに登録したIPアドレス以外からの投稿を無視する」にチェックを入れた場合は、ホワイトリストに登録がない IPアドレスからの投稿はすべてスパム扱いされます。
このチェックは明確な理由がある場合のみ利用しましょう。
 
 

メモ(スパム対策情報や IPアドレス・NGワードその他メモ備忘録としてご自由にお使い下さい)

 
この項目はただのメモ欄です。
設定内容などをメモしておくときに利用します。
ここで入力された情報が他に利用されることはありません。
 
20161009_wp_09
 
 


 

スパムデータベース

 
20161009_wp_10
 

スパムコメント投稿情報を保存しますか?

「スパムコメント情報を保存する」にチェックを入れると、スパムコメントと判定されたコメントの情報を保存していきます。
また、左メニューの「Throws SPAM Away」のサブメニューに「スパムデータ」項目が追加され、自動的に削除されたスパムコメントの情報を確認できるようになります。
 
「Throws SPAM Away」を設定すると、スパムコメントは自動的に削除されますので、何事もなかったように平和な時間が訪れるのですが、あまりにも静かすぎて「本当にコメントスパムが来ているのだろうか?」と感じてしまう場面もあるかと思います。
 
そんな時にはこの「スパムコメント情報を保存する」にチェックを入れるといいでしょう。
スパムコメントの情報を確認できるようになります。
詳細は後述の「Throws SPAM Awayでコメントスパム対策を完璧に。自動削除で運用の手間ゼロ/スパムデータ」を見てください。
 
 

スパムデータを表示する期間

前項目で「スパムコメント情報を保存する」にチェックを入れたとき、どれくらいの期間のデータを保存・表示するかを指定します。
タイトルは「表示する期間」と書かれていますが、スパムコメントの情報を保存する期間と表示する期間は同一に設定されていますので、表示期間だけ変更するという機能ではありません。
 
 

機能設定

同一の IPから何度もスパムコメントの投稿がある場合は、別の処理でもスパム判定をするという機能です。
この機能を利用する場合は「機能させる」にチェックを入れます。
コメントスパムは機械的に短時間にまとめて投稿される場合が多いため、それに対応するための機能ですが、そのほかの機能ですでにスパムと判定されているわけなので、どれくらい役に立つ機能なのだろうか?という感じもします。
 
 
以上で設定は終了になります。
 
 
 

スパムデータ

 
左メニューの「Throws SPAM Away」-「スパムデータ」をクリックするとスパムコメントとして処理されたコメントの情報を一覧表示することができます。
一覧としてある程度集計された情報としてみることができますので、コメントスパムの傾向を確認することができます。また、コメントの詳細情報も確認できます。
 
20161009_wp_11
 
 
20161009_wp_12
 
「IPアドレス」や「エラー判定(最新)」のリンクをクリックすると、スパム判定されたコメントの詳細情報が表示されます。
 
 
20161009_wp_13
 
「スパムIP登録」の「ブロック対象IPアドレス追加」のボタンをクリックし、表示されるダイアログで「OK」をクリックすると、ブロック対象の IPアドレスに追加されます。
 
つまりは、「投稿IPアドレスによる制御設定」の項目で設定する「任意のIPアドレスからの投稿も無視したい場合、対象となるIPアドレスを記述してください。」の項目に IPが追加されます。
一度追加したのち、追加した IPアドレスを削除したい場合は、そこから削除します。
 
 
以上で、「Throws SPAM Away」の機能についての解説は終了です。
 
 

「コメントスパム」とは?「スパムコメント」とは?

 
コメントスパムとスパムコメントとどちらがどう違うのか、考えてみました。
 
「スパム」とは、アメリカで売られているお肉の缶詰なんです。
 


 
これを贈り物として贈る習慣があるそうですが、「受け取った側は贈り物にスパムばっかり要らない」と思うこともしばしばあるそうです。
そんなところから、受け取り側が承認していないメールを、無差別に大量に送るメッセージのことを「スパム」と名付けられたそうです。
 
それはさておき、日本語的には
「コメントスパム」とは「コメント」の「スパム」であるということです。
「スパムコメント」とは「スパム」の「コメント」であるということです。
 
つまりは、
前者はスパムの種類を現していて、後者はコメントの種類を現しているのだろうと考えます。
 
なので、今回対策するのはスパムの対策なので、「コメントスパム」と表現する方が正しいのかなぁ、と思ってタイトルには「コメントスパム」の方を採用しました。
 
ただ、文中では「コメント」のことを言っている場合もありますので「スパムコメント」という表現も使っています。
そのあたりは意識して使い分けています。
 
 
ちなみに、Google Trendsで調べた限りでは、「コメントスパム」と「スパムコメント」のどちらの検索数もほぼ変わりませんでした。
ただ、Googleでの検索結果は、スパムコメントが 4,270,000件、コメントスパムが 1,190,000件でしたので、スパムコメントの方が一般的なのかもしれないですね。
 
 

Throws SPAM Awayを導入した経緯

 
Throws SPAM Awayを導入した経緯は、1日に数十件を超えるコメントスパムがあったことです。
コメントがあるとメールを送信する設定にしていましたので、メールの受信ボックスがコメントスパムの連絡で埋め尽くされていくわけです。
 
これは根本的な対策をしないわけにはいかないな、と思わされたわけです。
 
数か月前にもコメントスパムの投稿があった時期がありましたが、それは 1日 1、2件程度でしたので、手作業で削除するのでもそれほど苦ではなかったことと、3週間ほどでコメントスパムが止まったのでそのまま対策をすることがなかったわけですが、今回のように大量に投稿してくるコメントスパムにはアナログで対応はできないな、ということですね。
 
 

Throws SPAM Away以外のコメントスパム対策

 
WordPressのコメントスパム対策の基本としては、左メニューの「設定」-「ディスカッション」から遷移する「ディスカッション設定」の設定だと思います。
 
20161009_wp_14
 
「コメント表示条件」の「すでに承認されたコメントの投稿者のコメントを許可し、それ以外のコメントを承認待ちにする」にチェックを入れ、リアルタイムにコメントを表示しないようにすることだと思います。
リアルタイム性はなくなりますが、コメントスパム対策の基本中の基本だと感じます。
 
そんな感じの基本的なコメントスパムの対策を始め、そのほかの対策については下記の記事も参考にしてみてください。
 
 WordPressのコメントスパム対策 3つのプラグイン
 Captchaを使って WordPressのコメントスパム対策をする
 SI CAPTCHA Anti-Spamを使って WordPressのコメントスパム対策をする

 - WordPress

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

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

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

Autoptimizeで簡単設定!HTML、JS、cssを圧縮しWordPress高速化!

Autoptimizeを使って簡単にHTML、JavaScript、CSSを圧縮しサイトの表示を高速化しよう!基本設定、拡張設定とあり柔軟な設定で多彩な環境に対応出来ます。

BackWPupでバックアップ・全体バックアップ具体的設定例

BackWPupその7。ファイル、DB全体をバックアップする具体的事例での説明です。

BackWPupでWordPress以外のファイル、データベースをバックアップ

BackWPupその10。BackWPupはWordPressのバックアップ用のプラグインですが、WordPress以外のテーブルやファイルをバックアップする方法の解説です。

BackWPupでバックアップ・リストア(復元)の具体的手順

BackWPupその9。バックアップファイルからのリストア(復元)の手順です。

WordPress 画面が真っ白になる不具合があった場合の対応の一つ

WordPressで画面が真っ白になる不具合があった場合の対応方法の説明です。PHPでエラーが起こっている場合がほとんどですがその対処方法です。

Advanced Custom Fieldsのカスタムフィールドの登録上限が max_input_varsに影響する問題の対処方法

Advanced custom Fieldsには登録できるフィールド数に上限があります。php.iniのmax_input_varsによる制限ですが、フィールドグループを分割することで解決できます。

get_categories、get_termsでカテゴリとタクソノミーのターム一覧の編集方法

get_categories()関数やget_terms()関数を使ってタクソノミーのタームを取得し検索処理の部品を作るプログラム作りその解説をしています。

WordPressのバージョンアップをしたら「the_content」でコンテンツが表示されなくなった

「the_content」でコンテンツが表示されないのは仕様が変更されたためでプログラムの修正が必要です。

WordPressの一般設定 投稿設定 表示設定 ディスカッション メディア

基本的な設定を行う「設定」の解説です。ブログサイトを構築する際に必要な設定内容を一般設定、投稿設定、表示設定などの各項目を説明しながら設定内容を提示しています。

WordPressは危険?最新バージョンにアップデートして利用しよう

WordPress最新バージョン使ってますか?WordPressのバージョンアップをしないリスクを説明し、バージョンアップの手順、バックアップの重要性を解説しています。