« HTMLからRORサイトマップ(Google,Yahoo!,MSN等対応)を作成するツール | トップページ | UOインデックス(並びにMMORPGサーチ)のサーバー移行について »

2007年04月10日 2.web関連

MovableTypeのスパム対策

こんな辺境のブログでもコメントスパムとか、トラックバックスパムが大量にやってくるようになりました。というか結構なボリュームでお腹一杯という感じですorz

公開に承認を必要とする設定で備えてはいたものの、あまりにもゴミが多すぎるので対策を行いました。幸いMovableTypeは情報も多く、それほど悩むことも困ることなく、良さげなものを導入できました。(先人の方々の情報に感謝です)

(導入直後ということもあるだろうかと思いますが、ピタリと止まっています)

管理用mt.cgiについて

1.CGIのパスを無駄に出力しないように変更

MovableTypeにログインした後、自ブログ上で検索などを行うと「編集」ボタンが表示される。しかし、ほとんど使用しないのと「mt.cgi」へのパスが含まれるので、出力しないように変更。

テンプレート設定画面より検索キーワードで「MTEntryEditLink」を検索、当方の環境では「検索結果」テンプレートが対象となった。テンプレート内の「<$MTEntryEditLink$>」記述を削除。

2.mt.cgiのアクセスを限定

管理用のCGIへのアクセスを.htaccessにより制限設定。

例)

<Files mt.cgi>
order deny,allow
deny from all
allow from プロバイダ
allow from IPアドレス
</Files>

※上記のプロバイダ、IPアドレスはお好みで。

コメントスパム対策

1.投稿ボタンを押さないスパムボットによるコメント投稿を抑制

テンプレート設定画面より検索キーワードで「MTEntryIfCommentsOpen」を検索 、当方の環境では「エントリーアーカイブ」「コメント・プレビュー」が対象となった。コメント機能部分にMT-Keystrokesプラグインを設置。

【参考情報】

WEBデザインBLOG様 MT-Keystrokesプラグイン Movable Typeコメントスパム対策

プラグインダウンロード Keystrokes for Movable Type

2.スパムを弾いたとしてもCGIは動いてしまうのでJavascriptによる予防策を実施(JavascriptによりURLを補完。Javascriptを解析しないスパムボットに有効)

(DOM未対応の対応と、Javascriptオフの場合に説明を表示するようにアレンジしてみました)

・コメントフォーム(上記MT-Keystrokesの修正箇所)のformタグに「id="comments_form"」を追加、「action="-"」もURLをハイフン(ダミー)に変更。(ハニーポット的なURLを設置するのもありかも)

<form method="post" action="-" name="comments_form" id="comments_form"
onsubmit="if (this.bakecookie.checked) rememberMe(this)">

・投稿ボタンの下あたりに以下のソースを設置

※noscript内の文章は、各自の環境に合わせてお好みで。

【参考情報】

OpenMagicVox.net様 JavaScriptを使ってスパムによるCGIの過負荷を防ぐ

トラックバックのURL隠蔽

1.トラックバックURL表示のJavascript化(JavascriptによりURLを補完。Javascriptを解析しないスパムボットに有効)

・トラックバックURLを表示しているテンプレート(通常は「エントリーアーカイブ」テンプレートが対象)のinputタグのvalueとidを以下のように適当なものに変更。

<input type="text" size="70" value="-" onClick="this.select();" id="tb_adrs" />

・上記inputタグの下あたりに以下のソースを設置

※inputタグの「id="tb_adrs"」とJavascript内「getElementById('tb_adrs')」の名称は一致させておく。

2.トラックバックとコメントCGIのファイル名の変更

「mt-comments.cgi」「mt-tb.cgi」をリネームする。例えば「mt-comments.cgi」は「mtc-200704abcdefg.cgi」の様に適当な名前に変更する。変更後の新しいファイル名は「mt-config.cgi」で指定する。

mt-config.cgiに以下の記述を追加(変更)

CommentScript mtc???.cgi
TrackbackScript mtt???.cgi

※いきなりリネームしないで、変更後のファイル名で先にコピーして用意して、動作確認してから古いファイルを消すとうっかりミスがないかも。(実際にリネームするのではなく、htaccessのRewriteRuleを使う手も)

3.「MTEntryTrackbackData」の削除(予定)

テンプレート設定画面より検索キーワードで「MTEntryTrackbackData」を検索 、当方の環境では「エントリー・アーカイブ」「カテゴリー・アーカイブ」「日付アーカイブ」「メインページ」が対象となった。

「MTEntryTrackbackData」タグを削除することによりトラックバック用データの RDF出力を抑制でき、トラックバックスパムには非常に効果があるとされる方法。(しかし一部の自動処理などに若干支障が出るが、手作業でトラックバックする場合は問題なし)

トラックバックスパム対策の要とも言える措置だが、現状でどの程度、トラックバックスパムが推移するのか観察してみたいので一時保留。(近々実施予定)

【参考情報】

MovableTypeMEMO様 スパム・トラックバック対策3

その他、ついでにいくつか設定

1.検索エラーになりやすかったので、ThrottleSecondsを調整

(デフォルトの60秒は長すぎるので10秒に変更。コメント投稿の間隔などにも連動するので注意が必要)

mt-config.cgiに以下の記述を追加(もしくは変更)

ThrottleSeconds 10

2.TempDirの設定

(テンポラリディレクトリの設定を追加、MovableTypeのインストールディレクトリに「tmp」ディレクトリを作成)

mt-config.cgiに以下の記述を追加(変更)

TempDir ./tmp

※お気づきの点等、お知らせいただけると助かりますm(_ _)m

コメントを投稿

(コメントありがとうございます。大変恐縮ですが管理者の承認が必要になっておりますので、しばらくお待ちいただければ幸いです)

トラックバック

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

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

» Movable Typeのスパム対策(コメント編・その1) 送信元 サラリーマン白書
来るか来ないかは別にして、当ブログには最初からトラックバックとコメントにある程度のスパム対策を施しております。それで私が実際に対策したMovable Ty... [詳しくはこちら]

2009年04月

      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

最近のコメント

Powered by Movable Type