MovbleTypeでブログを運営しています。このシステムにはコメントスパムを防ぐための仕組みが実装されていて、それなりの効果がありますが、中にはフィルターを通り抜けて投稿まで進んでしまうコメントスパムが存在します。また、例えシステムがコメントスパムを防いでくれたとしても、コメントスパムを投稿するためのプログラムがmt-comment.cgiをキックするので、サーバーにそれなりの負荷がかかってしまうという問題がありました。
時間帯によっては、「503 Service Temporarily Unavailable」が発生してしまうこともありました。たぶん、ロボットが大量にコメントを投稿するようにcgiをキックしているのだと思います。
この問題を防ぐために何か対策は無いかと探していたのですが、私にとっては最善の策が紹介されているのを見つけました。この方法を実施してから、「503」の表示を見ることが無くなりました。
★MTのコメントスパムをなくす.htaccess[to-R]
この方法は、「.htaccess」に下記の記載をして、mt-comment.cgiと同じディレクトリに入れておくという方法です。上記のサイトを参考にして、このサイト向けに書き換えました。
<Files mt-comments.cgi>
SetEnvIf Referer “^https://www.painfo.net/” ref
SetEnvIf Referer “^https://www.painfo.net/” ref2
order deny,allow
deny from all
allow from env=ref
allow from env=ref2
</Files>
このブログでは1つのMovableTypeで2つのサイトを公開しているので、refとref2という2つの変数に2種類のURLを設定して判定させるようにしてみました。文法がよく判らなかったのですが、この内容でテストをしてみると、問題なくコメントの投稿を受け付けてくれました。
この「.htaccess」を使用する方法は、cgiをキックする前の状態で、自分のブログのコメント記載欄以外から投稿をしようとする人をすべてシャットアウトしてくれますので、システムにかかる負荷も軽減されるという効果があります。逆に「ブログペットの小うさぎくん」などもはじかれてしまうことになります。何か特定のロボットだけ投稿を許すことが出来るのか、方法を探してみたいと思っています。
【2010/07/04追記】
この方法でコメントスパムに対する対策を実施して数日が経過しましたが、やはり効果が非常に高いです。コメントスパムがフィルターをかいくぐって投稿されることがなくなりました。さらに、「さくらインターネット」から借りているサーバーに対する負荷も劇的に減っているように思えます。負荷が高い状態のときに発生するエラーが出ることが100%無くなりました。.htaccessでcgiがキックされる前の段階ではじかれていることが大きいのでしょう。お勧めのコメントスパム予防対策だと思います。
コメント