日曜日, 11月 15日, 2015

スパムコメントとの戦い(1/2)

本業が忙しく、なかなかネタがアップできず、気が付けば8カ月もブログ放置していました。
本業の忙しさは相変わらずでなかなかネタが見つからないのですが、この放置の間にネタが転がっていました。
このブログのコメント欄に膨大なスパムコメントがついていたのです。
一日10件以上のコメントが付いて、総数300以上でした。
これはなんとかしなけりゃいけない。

コメントを一気に消す

コメントを選択して消すなんて面倒くさくてやっていられません。
直接コメントファイルの削除をしました。
FlatPressインストール先のfp-contentの下に西暦の下2桁のディレクトリ、その下に月2桁のディレクトリ、その下にエントリごとのディレクトリがあります。
エントリごとのディレクトリの下の「comments」ディレクトリは以下のファイルを削除すれば、コメントはきれいに消えてくれます。

スパム対策

対策としていくつか方法を考えました。

  1. パスワード・画像認証を導入する
  2. コメントを承認で公開するようにする
  3. IPアクセス制限

Flatpressのプラグインで画像認証導入は特殊なプラグインを入れることもなくできるようなのですが、アクセシビリティの低下が個人的に好きではないので見送りすることにしました。
まずは「コメントをブログ管理者が承認しない限り公開しない」を導入してみます。
「投稿しても表示されないなら、いつかあきらめて消えるだろう」という考えです。
導入したプラグインは
Comment Center v1.1
http://www.pierovdfn.it/2011/06/30/plugin-comment-center-v11-flatpress/
です。(確認するとv1.1.1があるようですが、それはまだ試していません)
残念ながら日本語化はされていません。

ダウンロードしてFlatpressインストール先のfp-pluginsディレクトリに展開します。

FlatPressの管理用ページから「プラグイン」を開きます。
「プラグイン」列にプラグインの名前がアルファベット順に並んでいますので、「Flat Press Comment Center」の「切り替え設定」列の「有効にする」リンクを押します。
他のアンチスパムの併用もできるようですが、私のところはこのComment Centerの承認機能のみ有効にしたいため、「Accessive Antispam」と「Akismet」は「無効」にしました。
「QuickSpamFilter」(いわゆる「NGワード」を登録し、含まれる場合は投稿させない機能のようです)は有効のままですが、設定していないので機能しません。

FlatPressの管理用ページから「ブログ記事」→「Comment Center」を開きます。
「Add a new pollicy」のラジオボタンを選択し、「Apply to」を「All Entries」のラジオボタンを選択し、「Behavior」を「Comments need to be approved」を設定し、「Save Policy」ボタンを押します。
これでコメントは管理者が承認するまで公開されることはありません。
fp20151115_1.PNG

Comment Center導入による効果

結論から言うと、あまり効果がありません。
すぐにコメントが反映されないので、ブログの見た目上キレイになるのですが、やはり相手は自動投稿ロボットのようでお構いなしに投稿してきます。
こまめに管理用ページの「Comment Center」から未承認のコメントを削除すればよいのですが、面倒です。

次回はもっと根本的な対策をしてみます。
(次回に続く)