【WordPress】スパムコメントのIPアドレスを一覧表示する方法
WordPressでスパムコメント投稿者のIPアドレスを一覧表示する方法のご紹介です。
目次
スパムとは?
スパムとは、受け取る側の承諾を得ずに無差別かつ大量に送信される電子メール、またそのような行為のことです。
缶詰の「SPAM」ではありません。
スパムは、スパムメールや掲示板スパム「通称:荒らし」などたくさんの種類がありますが、ここではコメントスパムについてです。
詳しくは、次の記事を参照して下さい。
スパムコメントの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;