MTのスパム対策

MovableTypeに対するスパムというのは、ここでは主にコメントスパムとトラックバックスパムを指します。リンク付きのコメントスパムはブログが流行りだした2005年頃だかもっと前に問題になり、rel="nofollow"やブログ自身のフィルタ機能でスパムは多少減ったのかもしれませんが、コメントスパムを成功させてしまうことが更なるスパムを呼んだりしかねないので個人でもよく対策しましょうという主旨です。

cgiファイルのリネーム

MTの場合の最初の対策としてはmt-comments.cgiとmt-tb.cgiの名前を変更することです。MT3.0ぐらいからよく言われている方法なので、効果的ではないかもしれないですが簡単に実施できるのでまずやっておいてもいいと思います。

mt-config.cgiに

CommentScript co_pc126g50.cgiTrackbackScript tb_va1ttvss.cgi

のように追記して、設定で書いたファイル名と同じようにco_pc126g50.cgiとtb_va1ttvss.cgiにリネームします。どんなファイル名でもOKです。

コメントのCAPTCHA認証機能を有効にする

MT4から標準機能としてCAPTCHA認証が使えます。サーバーに「Image::Magick」がインストール済みである必要があります。mt-check.cgiで確認可能。

CORESERVERを利用している場合(MT5.1)

CORESERVERの一部のサービスを利用している場合、この設定を行ってもCAPTCHA画像がうまく表示されません。lib/MT/Util/Captcha.pmに修正が必要です。

my $im = $imbase->Montage(
geometry => $geometry_str,
tile => $tile_geom
);

となっている行を

my $im = $imbase->Append(stack=>'false');

とすると解決するようです。MTのバージョンによって微妙に元の記述が違っています。
(参考)XREA/CORESERVERでMovable TypeのCaptchaが表示されない不具合 - 小粋空間

CAPTHA認証画像がIEで表示されない

IEのみでJavaScriptエラーが出て、CAPTHA認証画像が表示されない場合、MT Vicunaテンプレートが原因になっている可能性があります。デフォルトのテンプレートでは<div id="comments-open-captcha"></div>となっているのが、<p id="comments-open-captcha"></p>になっていて、JavaScriptによってpタグの中にdivタグが入ることになりエラーになる為です。

デフォルトに戻してもいいですが、<dl><dt id="comments-open-captcha"></dt></dl>のようにしてCSSでレイアウトを調整するといいかもしれません。

そもそもMTの機能としては廃止する

Blog のデザインを変更しました | WWW WATCHのように、Facebookのコメント機能を採用する手もあります。

あとは、自分がはてなダイアリーばかり見ているからかもしれないですが、はてなブックマークコメントを表示してる人が多い気がします。
はてなブックマークブログパーツからコメントを表示できるブログパーツを設置するだけなので簡単です。


最終更新: 2014-05-06 (火) 18:07:55