鬱陶しいコメントスパムを弾くためしばらく中国からはアクセス禁止です

鬱陶しいコメントスパムをひとまず弾いていこうかなぁ、ということで、まずはコメントスパム大国中国からのアクセスをすべて弾くことにしました。

新しい記事を公開した途端にその日のページ応答速度が遅くなるので、「何でだろうなぁ」と考えていました。

常連さんと言っても数は限られていますし、それほど極端にボットがやってきているという感じでもありません。

feed関連の更新通知にしても公開後数秒くらいの問題だと思いますし、一体何が起こっているのだろうということを考えました。

まあ原因は間接的にfeed・pingらへんにあるのですが、結局は公開した途端にスパマーたちがそれを頼りに猛烈にコメントスパムを行っているということでした。

スパムIPアドレス数・スパム投稿数

目立つものをご紹介しましょう(日本時間との差で若干のズレがあります)。

IPアドレス数は「SPAM投稿ユニークIPアドレス数」です。

  • 6月16日 IPアドレス数「261」スパム投稿数 「1372」
  • 6月19日 IPアドレス数「99」スパム投稿数 「377」
  • 6月20日 IPアドレス数「67」スパム投稿数 「238」
  • 6月21日 IPアドレス数「77」スパム投稿数 「198」
  • 6月22日 IPアドレス数「207」スパム投稿数 「778」
  • 6月23日 IPアドレス数「170」スパム投稿数 「754」
  • 6月25日 IPアドレス数「238」スパム投稿数 「1246」
  • 6月30日 IPアドレス数「219」スパム投稿数 「1088」

プロキシを経由しているということでしょうか、すごい数のユニークIPアドレス数です。

以前は、一つずつ「Ban(アクセス禁止)」という地道な作業をしていましたが、最近は数が半端ではありません。結構分散しているのでワイルドカードを使っても数が膨大になります。

そりゃあ一日の間にこれだけスパム投稿されてそれをシステムで弾いていたりすればサーバーも大変だろう、ということで、スパム投稿判定と投稿不許可という構造ではなく、ひとまず該当IPを弾きたいという感じなのですが、ユニーク数の数が膨大なので対応しきれません。

中国からのスパム

中身を見ると、今のところすべて中国でした。

ということで、中国の方には申し訳ないですが、しばらく中国系のアクセスを全て弾くことにします。それと合わせてpingも見直そうと思います。

本ブログの使用言語は日本語ですが、中国からの「簡体字検索」でのアクセスも若干あるので若干考えものです。しかし、90%以上が日本国内のアクセスなので、中国スパムのせいで表示速度が重くなることを受け入れるか否か、ということを考えてという感じです。

根本からBan

考えてみれば気付くのが遅れた原因はアナリティクスで「それ系」を除外していたことでした。アナリティクスで除外するよりも根本からBanの方がいいですね。

変な感じですが、勉強になったような気がします。

もし中国系のアクセスを禁止しても他エリアのプロキシなどを経由して迂回するような感じであれば、また別の方法を考えます。

さて、この投稿自体もおそらくフィードで流れていると思いますが、スパム投稿は止まるのでしょうか…

ひとまず様子を見てみます。

ホストが特定できないアクセス

10:51追記

ある程度は防げましたが、ホストが特定できないように仕組んであるので、さらに鬱陶しい感じになってきました。

ついでにロシアもブロックしておきましょう。

といっても、やっぱり小手先では防ぎきれないので、中国全部のIPを網羅するしか無いのか…と思ってしまいます。

ひとまずは、小手先+スパム検出に引っかかったやつをワイルドカードで潰していくことにします。

中国のipアドレスをすべて拒否

11:33追記

やはり鬱陶しいので中国のipアドレスをすべて拒否しました。

中国のホスト名で弾くのみならず、もうipアドレス自体で弾く感じです。

拒否用に若干.htaccessのファイルサイズが大きくなってしまいましたが、まあそれは仕方ありません。

トルコなどもちらほらありましたが、ひとまずは様子を見ておきます。

スパム投稿が激減

7月5日 17:45 現在

  • 7月3日 IPアドレス数「103」スパム投稿数 「254」
  • 7月4日 0
  • 7月5日17:45 現在 IPアドレス数「11」スパム投稿数 「14」

だいぶ減りました。まだ残党がいるようなので、個別にブロックをしていきます。

アクセスが増えるとスクレイピング対象となる

Category:IT &Internet パソコンとか通信とか

コメントを残す

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

日本語のみ