スパム・コメントを撃退する

  • 投稿日:
  • 投稿者:
  • カテゴリー:

最近、スパムコメントが激増しています。とりあえずはデータ収集と思ってIP Banningなどもせずに放置しておいたのですが、そろそろ手を打つことにしました。

先週、Jay Allen :: The Daily Journalに掲載されたKilling Comment Spam Deadおよび、それをまとめたKilling Comment Spam for Dummiesに沿って、スパムコメント対策をしてみました。

以下は基本的に上記二つの内容を抜粋して日本語にしたものです。Good job, Jay!

まず次のMTプラグインをインストールします。


プラグインはMTディレクトリーのすぐ下のpluginsディレクトリーに置きますが、MacrosとPerlScriptは、extlibディレクトリーの下にbradchoateを作成し、その中に入っていた*.pmファイルを置く必要があります(詳細はBrad Choateの各プラグインの説明参照)。

次に、次の二つのテンプレート・モジュールを作成します。管理画面のテンプレートの編集で、下のほうにある「新しいテンプレート・モジュールを作成」のリンクを選んで、以下の名前で(名前は正確にこのとおりである必要があります)、(内容)のリンクの中身をコピー&ペーストしてテンプレートを作ってください。


  • Comment Spam URL Neutralizer (内容

  • Comment Spam Banned URL List (内容


注)なお二つ目のファイルの内容が、ブラウザによって改行なしで表示されている可能性があるので、その場合はURLのリストがかなりの勢いで増えているので、最新の内容をコピー&ペーストしてみてください。

次に、実際のテンプレートに、このモジュールを組み込みます。「MTComments」タグを使っているテンプレートに対して作業しますが、標準的な設定ではIndividual Archives TemplateやComment Listing Template、Comment Preview Templateあたりが対象になります。トップページに最新コメントなどをリスティングしている場合は、Main Indexも対象になります。

まず対象となるテンプレートに次の一文を加えます。できればテンプレートの一番頭に入れるといいでしょう。


<$MTInclude module="Comment Spam URL Neutralizer"$>

次に「<MTComments> ... </MTComments>」ではさまれた部分を、次のように書き換えます(太字部分)。

<MTComments>
<MTIfNotMatches expr="[MTCommentAuthorLink apply_macros='m/^banned_urls/']" pattern="m/\Q[[COMMENT SPAM]]\E/">
<MTIfNotMatches expr="[MTCommentBody apply_macros='m/^banned_urls/']" pattern="m/\Q[[COMMENT SPAM]]\E/">

[途中のコードは省いてあります]

</MTIfNotMatches>
</MTIfNotMatches>

</MTComments>

Comment Preview Templateについては、次のようにすることで、コメントのプレビュー時に、一般の投稿者が不具合を認知できるようにできます。

<div class="comments-head"> Previewing your Comment </div>

<MTIfMatches expr="[MTCommentPreviewAuthorLink
apply_macros='m/^banned_urls/']"
pattern="m/\Q[[COMMENT SPAM]]\E/">

<p>
あなたのコメントは、スパムとみなされる文字列を含むために、投稿できません。
</p>
<p>
質問・疑問がある場合は、このweblogのオーサーにコンタクトしてください。
</p>

</MTIfMatches>
<MTIfNotMatches expr="[MTCommentPreviewAuthorLink
apply_macros='m/^banned_urls/']"
pattern="m/\Q[[COMMENT SPAM]]\E/">
<MTIfMatches expr="[MTCommentPreviewBody
apply_macros='m/^banned_urls/']"
pattern="m/\Q[[COMMENT SPAM]]\E/">

<p>
あなたのコメントは、スパムとみなされる文字列を含むために、投稿できません。
</p>
<p>
質問・疑問がある場合は、このweblogのオーサーにコンタクトしてください。
</p>

</MTIfMatches>
</MTIfNotMatches>

<MTIfNotMatches expr="[MTCommentPreviewAuthorLink
apply_macros='m/^banned_urls/']"
pattern="m/\Q[[COMMENT SPAM]]\E/">
<MTIfNotMatches expr="[MTCommentPreviewBody
apply_macros='m/^banned_urls/']"
pattern="m/\Q[[COMMENT SPAM]]\E/">

<div class="comments-body">
<$MTCommentPreviewBody$>
<span class="comments-post">
Posted by
<$MTCommentPreviewAuthorLink$>
at <$MTCommentPreviewDate$>
</span>
</div>


<div class="comments-body">
<form method="post"
action="<$MTCGIPath$><$MTCommentScript$>">
<input type="hidden"
name="entry_id" value="<$MTEntryID$>" />
<input type="hidden"
name="static"
value="<$MTCommentPreviewIsStatic$>" />

[途中のコードは省いてあります]

</form>
</div>

</MTIfNotMatches>
</MTIfNotMatches>

トラックバックについても、もしスパムトラックバックが増えてくるようであれば、TrackBack Listing Templateに同様のモジュールを組み込むことで、怪しいリンク先へのトラックバックを外すことができるでしょう。


Comment Spam Banned URL List


(追記)10月13日にMovableTypeの開発元、Six Apart社のブログ「Six Log」に、このソリューションが掲載されていました。
(追記その2)Bayesアルゴリズムを使ったスパムコメント・フィルターのMTプラグインがありましたので、その件については別エントリー「スパム・コメントとの戦いは続く」に掲載しました。


関 信浩のアップデートをFacebookページで受け取れます!!

トラックバック(16)

以下、備忘まで。このblogも一度だけ、『Viagra』という辺な人からスパム・コメントを多重でもらったことがありましたが、まだまだご愛敬ってことで。 ●スパム・コメントを撃退する(syncworld.net) それにしても、使い始めて思うんだけど、このMovableTypeってアプリケ... 続きを読む

最近変な英語のコメントが投稿されていることがあります.毎回手動で削除していたのですが,いいかげん面倒なのでなんとかすることに. そういうわけで色々調べてみると「Sync World」というサイトにて「スパム・コメントを撃退する」という記事を見つけました. この記事... 続きを読む

Many people have complained about my "Solution for comments spams" is unfriendly to disabled or those who do not have a graphic browser. Hearing your feedbacks, I spent the last 2 days working on a bayesian plugin. To cut the... 続きを読む

最近、MTのコメントを狙ったコメントスパムや、MTのコメント欄にあるメールアドレスを抜き取って、ダイレクトメールを送るのが増えているようです。 ■コメントスパム コメントスパムは、来るたびに、kengoさんとメッセンジャーで共有してますが、kengoさんが詳しくま... 続きを読む

 先日、コメントSPAMの爆撃を受けて、本気で対策せねば…と思ったので、ネット上のMovableTypeコメントSPAM対策をまとめてみました。  気付いた時点で禁止IPに入れたおかげで被害が60程度で済んだ模様。80.58.11.42からのものでした。現時点は海外からしかないからIP禁 続きを読む

googleで検索してみたら、例の会社は10月下旬あたりから活動しはじめたらしい。いろんなblogで話題になっている。うきー、うきー。今週末に時間を取って対策をしよう。 なんか便利なプラグインがあるらしい。... 続きを読む

最近増えた「スパムコメント」ですがnsekiさんのところで対策方法が書かれていました。 スパムコメントを撃退する とはいえ、完全な対応などあり得ないわけで、t-hideさんが書かれているように 常にイタチゴッコであることは変わらないっぽいです。 この記事で紹介されて... 続きを読む

前のエントリ,広告spam for MTで,spamの話題を取り上げて不安になったので対策することにしました. ドメイン/IPではじく対応法をSync A World You Want To Exploreさんがスパム・コメントを撃退するとしてエントリされていたのを見つけて,これにしようと思ったんだけ... 続きを読む

ネットにスパムはつきものらしい。 BLOGをいろいろと見てまわっていると、 ここにも「コメント・スパム」なるものがあるらしい。... 続きを読む

うちのサイトにもコメント欄を狙ったスパムがしばらく前から届くようになってしまい、 何かしら対策をせざるを得ない状態となり、とりあえず、今の私の製作環境等を考慮に入れ、 soanblog 創庵さんの記事を参考にして、一番手軽そうに思えた「禁止IP」の設定だけやってみ... 続きを読む

うーん最近かなり自分の blog にコメントがあるなーなんて思ってたら、どうやら内容が全部英語...しかもよく見ると卑猥な言葉が... 続きを読む

嫌になるほど、毎日やって来るのでさらに対策。 Killing Comment Spam for Dummies の方法を導入。 このプラグインは,コメント内に記述されている URL が "Comment Spam Banned URL List " 内の URL と一致した場合はコメントの投稿を拒否するものです。 URLリストはスパ... 続きを読む

嫌になるほど、毎日やって来るのでさらに対策。 Killing Comment Spam for Dummies の方法を導入。 このプラグインは,コメント内に記述されている URL が "Comment Spam Banned URL List " 内の URL と一致した場合はコメントの投稿を拒否するものです。 URLリストはスパ... 続きを読む

SEA OF TRANQUILITY - コメントSPAM (March 21, 2004 12:32 AM)

なぜかケータイのアドレスに、黒サイトへのコメント投稿通知が。 見たけど内容がない。ヘッダはあやしげ。 IPを抜いたらホストはイタリアだった。ホントにイタリアからなのか串なのかまでは調べなかったけど…。 職場で受信したので、帰宅して対策を講じるまでどきどきも... 続きを読む

ここ最近から、いわゆるスパム・コメントがぼちぼち見られるよーになっていたので、コメント削除作業がメンドークサイのでスパム対策を実施してみました。 それと、コメント投稿欄の上にツールバーも設置してみました。見ていただけるとおわかりになるかと思いますが、MT... 続きを読む

きょうのひできち - コメントスパム (August 24, 2004 11:56 AM)

ついにコメントスパムが来ました。コメントスパムとは、blog のコメント欄に、b 続きを読む

コメント(1)

nob seki

フィルターは動いているのですが、すごい勢いで新しいドメイン名を取得されており、いたちごっこみたいになってきました。