« 待遇 | メイン | RubyでのModuleとClassの違い »

MTスパム対策

MTとはMovable Type(ムーバブルタイプ)の略。サーバー上でインストールするブログソフトで、それ系では恐らく世界一のシェアではないかと思う。米Six Apart社の製品。略してエム・ティー。

世界一のシェア、いや違った、調べてみたら英語圏ではWordPressに負けて2位らしい。。。まぁ、どちらにせよメジャーな製品だけあってスパムコメントやスパムトラックバックも相当なモノ。

そのスパム対策に泣かされる管理人も少なくないように思う。現に私もMTユーザー、管理人画面をリロードする度に新しいスパムトラバ(トラックバック)が登録されている、と言う悲惨な事態も過去に経験している。

そこで先日見出したスパムコメントの対策法をネットで紹介するのは例え日本語圏内だとしても油断は出来ないのだが、まぁ、これが破られたらまた次の手段を考えるさ。

せめて日本語で書こう、ちょっとわかりにくくなるが。日本人を信じる、と言うより、何と言うか、まぁ、気持ちの問題(笑)。

1.サブミット時に外部ジャヴァ・スクリプト・ファイルでポスト先を変更させるように
    テンプレートを修正(テンプレートの修正方法はここでは割愛)

    formタグのonSubmitに「自作メッソド名(this)」と記述し、
    ↓↓↓こんな感じ↓↓↓
    <form action略 onSubmit=”j略s略:自作メッソド名(this);デフォメソッド後略
    ↑↑↑こんな感じ↑↑↑
    JSファイル(サーバー上任意の場所に配置)の方で
    function 自作メソッド名(element){
     element.action = '新しいポスト先'
    }
    とする

2.MTインストール先ディレクトリ直下にある
    mt-comments.cgi
    を新しいポスト先に指定した名前に変更する

3.サイト内全ての再構築、以上

ここ数日これでさっぱり収まったので、絶対ではないかもしれないがご参考までに。と言うのもこれで上手くいくと思われる根拠があって、何故かと言うとスパムロボット(と呼べばいいのか)は一度GETリクエストでサイトに訪問し、ソースからformの送信先を読み込んで再度POSTリクエストでスパムコメントを送ってくる。

だからonSubmit後のポスト先はロボットにはわからないだろう、と言うのが私の根拠。

いかがでしょう??

当然手動スパム(@内職!?)みたいなのには対応できていないが、これが破られたらもはや残る道はPerlハックのみ(笑)。

ちなみにトラックバックスパムはCSSのdisplay:noneとか使えば何とかなると思うが
/lib/MT/ConfigMgr.pm

[’TrackbackScript’, { Default => ’mt-tb.cgi’ }],
にCSSを記述では上手くいかないのが昨日発覚、ここ1年程だったか、スパムは来てはいなかったが逆に善意のトラバも貼れてなかったもよう・・・。A(^_^;)~~
テンプレートの方で修正すれば上手く行くと思うのでこれはまた後日対応することに。

ちなみにコメントはテスト送信確認済みですっ!



広ブロっち♪ d(^-^)

トラックバック

このエントリーのトラックバックURL:

この一覧は、次のエントリーを参照しています: MTスパム対策:

» トラバ・テスト from 余事の余談
大体私はブログ記事をそのままmixi日記に貼り付けているんだが、今回はブログのみ... [詳しくはこちら]

コメントを投稿

広ブロっち♪ d(^-^)