May 16, 2006

最終兵器にはならないけど…

Ogawa::Buzz: AutoIPBan Plugin公開

とか作っておきながらなんですが、どうもねえ…。

昨日の時点で約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を変更し、再構築するだけで済みます。

…というのは全部実際には試さずに書いています。

About Me

My Photo

つくばで働く研究者

Total Pageviews

Amazon

Copyright 2012 Ogawa::Buzz | Powered by Blogger
Design by Web2feel | Blogger Template by NewBloggerThemes.com