【WordPress】スパムコメントのIPアドレスを一覧表示する方法

WordPressでスパムコメント投稿者のIPアドレスを一覧表示する方法のご紹介です。
spam

スパムとは?

スパムとは、受け取る側の承諾を得ずに無差別かつ大量に送信される電子メール、またそのような行為のことです。

缶詰の「SPAM」ではありません。

ホーメル スパム 20%レスソルト 340g

スパムは、スパムメールや掲示板スパム「通称:荒らし」などたくさんの種類がありますが、ここではコメントスパムについてです。

詳しくは、次の記事を参照して下さい。

スパム発信元のブラックリスト「Spam activity database」 | ハルパススパム発信元のブラックリスト「Spam activity database」 | ハルパス

スパムコメントのIPアドレス一覧表示

スパムコメントをブラックリストに登録するには、IPアドレスの一覧が必要となります。

しかし、Wordpress では標準仕様として一覧のエクスポート機能を備えていません。

プラグインを使用する方法もありますが、サイトのパフォーマンスやセキュリティ上の観点から導入が難しい場合があります。

よって、今回は「phpMyAdmin」からSQL構文を使用した方法をご紹介します。


スパムIPアドレスを表示するSQL構文

WordPress では、そのほとんどの情報をDB上に保存しており、SQL構文を使用することでデータの取捨選択が可能です。

phpMyAdmin へログインし、SQLタブから以下のSQL構文を実行して下さい。


「スパムIPアドレス」一覧表示のSQL構文

SELECT `comment_author_IP`
FROM  `wp_comments`
WHERE  `comment_approved` LIKE  'spam' GROUP BY `comment_author_IP`

「スパムIPアドレス」「コメント件数」一覧表示のSQL構文

SELECT `comment_author_IP`, COUNT(`comment_author_IP`)
FROM  `wp_comments`
WHERE  `comment_approved` LIKE  'spam' GROUP BY `comment_author_IP`
ORDER BY COUNT(`comment_author_IP`) DESC;

「スパムIPアドレス」「コメント件数」一覧表示のSQL構文

上のSQL構文との違いは、スパムコメント数が一定以上(ここでは5つ)のものだけ表示させます。

SELECT `comment_author_IP`, COUNT(`comment_author_IP`)
FROM  `wp_comments`
WHERE  `comment_approved` LIKE  'spam' GROUP BY `comment_author_IP`
HAVING  5 < COUNT(`comment_author_IP`)
ORDER BY COUNT(`comment_author_IP`) DESC;

「スパムメールアドレス」一覧表示のSQL構文

SELECT `comment_author_email`
FROM  `wp_comments`
WHERE  `comment_approved` LIKE  'spam' GROUP BY `comment_author_email`

「スパムメールアドレス」「コメント件数」一覧表示のSQL構文

SELECT `comment_author_email`, COUNT(`comment_author_email`)
FROM  `wp_comments`
WHERE  `comment_approved` LIKE  'spam' GROUP BY `comment_author_email`
ORDER BY COUNT(`comment_author_email`) DESC;