Home > アーカイブ > 2012-06-18
2012-06-18
スパムコメントとの飽くなき戦い
- 2012-06-18 (月)
- ブログ
ブログの運営をやっておられる方なら多かれ少なかれスパムコメントに悩まされることがあるかもしれません。
かくゆう当ブログも大したサイトでもないのですが、そのわりにスパムは毎日のようにやって来ます。
記録が残っている範囲では昨年の7月に5500件という記録的な数が来ました。
大体、毎月多くても1000を少し越えるくらいなのでかなりの数です。
WordPressにはAkismetという最強のスパム対策ツールがあるのでスパムコメントが表に出ることはほぼありません。
そうはいっても来ること自体を防止しているわけではないので毎日ブログの管理画面にログインすると数件~数十件のスパムコメントを目にすることになります。
対策もしていないわけではありません。
隔離されたスパムコメントにはIPアドレスが出ていますので、そのIPアドレスをサックリと.htaccessに放り込んでアクセス禁止にしてしまいます。
ただ、これは全部手動でやっているのでなかなか大変です。
一時期熱心にやっていましたが、いくらやっても新しいところから来るので、そのうち面倒になってやめてしまいました。
Akismetには、『一ヶ月以上前の投稿につけられたスパムを自動削除する』というオプションがあります。
これを使えば毎度毎度の鬱陶しいスパムコメントもかなりの数が見なくて済みそうです。
ですが、残念ながらAkismetといえども完璧ではありません。
特に日本語のコメントがたまにスパム扱いされてしまっているということが何度かありました。
これがなければAkismetに一任出来るのですが、残念ながら現状は自動削除は出来ません。
もう1つの効果的な対策として、コメントにCAPTCHAを付けることもやってみました。
CAPTCHAとは、見たことがある方も少なくないと思いますが、コメント欄などにある歪んだりしてわかりにくくなったアルファベットなどを入力して認証するものです。
これはかなり効果的だったのですが、残念ながらサーバーの負荷が高くなってしまいプログラムの同時実行数制限がかけられてしまいました。
先日、サーバー移転をしてCPUやメモリの性能がアップしましたが、おそらく稼働させてしまうとまた同じことになってしまいそうです。
そこで今回、思い切って国別にアクセス制限をしてしまうことにしました。
.htaccessにアクセス制限をする国のドメインを記入するだけです。
order allow,deny
allow from all
deny from .jp (←日本からのアクセスを制限する場合)
Google Analyticsで国別のアクセス数を見て、あまりアクセスの多くない国でスパムが多い所を2つほど設定してみました。
国名は書きませんが、それ以降だいぶスパムが少なくなったように思います。
ただ、この方法でも逆引きホスト名が該当のドメイン名で終わらない場合もあるようなので完全ではありません。
とはいえ、かなりの数を制限できれば効果はあると思います。
国別で制限をかけるというのは常々考えていたのですが、全部バッサリと切ってしまうということが気になってなかなか実行できませんでした。
これでどれくらい効果が出るかわかりませんが、出来れば1ヶ月2桁以内で済むくらいになってくれればありがたいです。
Home > アーカイブ > 2012-06-18