最終兵器にはならないけど…
AutoIPBan Plugin公開 - Ogawa::Memoranda
とか作っておきながらなんですが、どうもねえ…。
昨日の時点で約7000件のトラックバックスパムがやってきて、うち約6000件はリジェクト、250件はスロットリングされ、残りの700件強がやはりJunk Folderに溜まっていくご様子…。結果として9割方リジェクトできているのだからいいじゃないかとはちょっと思えませんね。なんかくじけそうです。
対SPAM最終兵器“Junk slowdown”!! : 亜細亜ノ蛾 - Weblog
やっぱりこっちの方が素直で有効っぽいです。スクリプトの途中でスリープさせるのはあまり意味がないかと思いますが。そのままだと芸がないので私はCで超簡単なマルチスレッドプログラムを書いて済ませてみました。
さて、ここからが本題。
教えてエロいえらいひと
コメント・トラックバックCGIのリネームとMT.cfg・.htaccessの変更を、同時に行ってくれるスクリプトがあれば、週一くらいで実行すると万全なのですが。
ってことなのですが、基本的に「スクリプトで」mt-config.cgiを更新するのはあまりお勧めしません。代わりと言ってはなんですが、定期的にmt-config.cgiのCommentScriptとTrackbackScriptを変更し、再構築するだけで済むようにするには以下のようにするとよいです。
まず、mt-comments.cgi, mt-tb.cgiは予想しにくいでたらめな名前に変更しておきます。ここでは、仮にmt-comment-detarame.cgi, mt-tb-detarame.cgiとします。
次にmt-config.cgiのCommentScript, TrackbackScriptにスクリプト名を設定します。ここで設定する名前は、mt-comment-detarame.cgiなどにリライトされるので、ファイルとして実際に存在している必要はありません。また、mt-comment-detarame.cgiなどとは異なった名前の方がよいでしょう。例えば、mt-comments-nospam.cgi, mt-tb-nospam.cgiとか日付を使った名前とか。
最後に、以下のようなテンプレートを作り、出力するファイル名にはフルパスでMTがインストールされているディレクトリの.htaccessを指定します(例: /home/hoge/.../mt/.htaccess)。また、インデックス・テンプレートと同時に再構築されるようにしておくとよいでしょう(このテンプレートは絶対にダイナミックパブリッシングにしてはいけません)。
RewriteEngine on
RewriteRule ^<$MTCommentScript$>(.*)$ mt-comments-detarame.cgi$1 [L]
RewriteRule ^<$MTTrackbackScript$>(.*)$ mt-tb-detarame.cgi$1 [L]
RewriteRule ^(mt-comments|...)\.cgi$ /hoge/sand-trap.php [L]
すでに.htaccessに何かを指定しているのであればその内容も含めます。また、Movable TypeからMTディレクトリに書き込めるようにパーミッションを設定しておく必要があります。それが済んだらこのテンプレートを再構築して正しく.htaccessが生成できることを確認してください。
確認できたらすべてのアーカイブ、インデックスを再構築して終わりです。以降は、定期的にmt-config.cgiのCommentScriptとTrackbackScriptを変更し、再構築するだけで済みます。
…というのは全部実際には試さずに書いています。
このエントリーのトラックバックURL: http://as-is.net/mt/mt-tb.cgi/401
最後の一行で笑ってしまいましたw
幸い、うちは大規模なスパムには悩まされずに済んでいます……というのは実際には確認せずに書いています :P
> スクリプトの途中でスリープさせるのはあまり意味がないかと思いますが。
そうでしたか :-D
たぶん、書いてあることの半分も理解せずにガチャガチャやってます。
テンプレートを利用する方法、いいですね! 試してみます。ありがとうございます。
私の脳内にある仮想マシンでしか動作確認していないので、うまく行かなかったらごめんなさい。
この対策をしてもコメントスパムは来ますね~。トラックバックのないブログサービスも多いので、コメントスパマーのツールの方が洗練されているのでしょうね。
次はCAPTCHA pluginでコメントスパム退治ですよ。
http://code.as-is.net/svn/public/captcha/trunk/