- 2008-01-11 (金) 1:48
- ブログ
まず初めに。1500件のスパムの中から友人であるすぽんじ氏のコメントが2件ほど見つかりうち1件は掘り出せました。
ですが、誤ってもう1件は削除してしまいました。申し訳ない(‘A`)
とりあえず自分で何度投稿してもスパム判定されるのでおかしいなぁと思ったら、Movable Type4から付けられたスパム判定の数値がプラスになっていたことが原因だった。
この判定をプラスにするとスパム判定の基準が厳しくなってよほど真面目で長くて有意義ななコメントでないと排除されてしまうようだ。
ましてや「テストです、にょろーん」などと意味不明なコメントを投稿していればそりゃスパム判定されるわな\(^o^)/
さてさて、そんなこんなでスパム判定は「±0」に戻し現実的なスパム対策を施してみた。
「mt-comments.cgi」をリネームする
基本中の基本。このプログラムをリネームするだけで海外からのロボットスパムがかなり減るとの事。
やり方は簡単。まず「mt-comments.cgi」を「nyoro-n.cgi」など.cgiの拡張子を残し適当に改名。
そして次にシステムにコメントCGIが変わったことを教えるため、以下の記述を追加「mt-config.cgi」を開き、最後の行にでも追加してくりゃれ
CommentScript nyoro-n.cgi
ここまではOKかな?このプログラム名は適当だから自分で好きな名前に改名してくりゃれ。
しかしこれだけではダメ、もといまだまだ甘いようだ。
何故ならソースを覗くときっちりとコメントプログラム名が記述されているからだ。ほらこんな風に⇒action=”nyoro-n.cgi”
これでは優秀なスパマーのロボットにはバレてしまうかもしれない…
そこで、このコメントプログラム名をJavaScriptで隠すというなんとも素晴らしい技を発見したので教えよう。
JavaScriptでactionターゲットを偽装
まずインデックステンプレートにある「mt.js」に以下の記述を追加。
function mtCm() {
document.comments_form.action = "<$MTCGIPath$><$MTCommentScript$>";
}
次にモジュールテンプレート一覧でコメントフォームを選択し、中身を編集します。
以下の「action=”<$MTCGIPath$><$MTCommentScript$>“」の下線が引いてある部分だけを削除して下さい。
<form method="post" action="<$MTCGIPath$><$MTCommentScript$>" name="comments_form" id="comments-form" onsubmit="if (this.bakecookie.checked) rememberMe(this)">
↓こんな風になります
<form method="post" action="" name="comments_form" id="comments-form" onsubmit="if (this.bakecookie.checked) rememberMe(this)">
そして、最後に</form>タグの次の行にJavaScriptの呼び出しタグを追加
</form> <script type="text/javascript">mtCm();</script> </div>
こんな感じ。これで「action=”"」の空の部分に”<$MTCGIPath$><$MTCommentScript$>”が挿入されるって仕組みだ。JSって便利ねー!
ちなみに自分の場合、この通りにやったらエラーが出ちゃったので、何がおかしいのかなぁ~とタグと睨めっこしていたら、自分のスクリプトにはformタグ内に name=”comments_form” の記述がなかったのです。
これがないときちんとJavaScriptの呼び出しに答えてくれず、”405 Method Not Allowed”とエラーではじかれるので注意。
405エラーなんて初めてみたよ/(^o^)\
ちなみにこちらのスパム対策は「MT4を運営開始する前に設定しておくと良い9つの項目」を参考に構築しました。
今度はスパムトラックバック対策でもやってみようかな。
- Newer: ギタドラプレイヤーへ100の質問 ~GFV4 & DMV4 ver.~
- Older: Movable Typeのスパムコメントが酷い件
Comments:5
- すぽんじ@会社 08-01-11 (金) 17:23
-
サーバーのログを見ると、1年くらいまえに削除した掲示板のURLに、
ひたすらアクセスしてくる海外のホストが未だあるんだよね。CGIのファイル名変更はやはり有効かと思われます。
- MT初心者 08-02-05 (火) 16:31
-
本当に参考になりました。
ありがとうございます。 - hiro 08-02-05 (火) 17:51
-
お役に立てて何よりです^^
ちなみに当ブログはこれを実施してからスパムコメントは0件です。
素晴らしい! - よろよろ 08-07-07 (月) 21:48
-
急にスパムコメントが付くようになって、こちらを参考にさせていただきました。
まだ半日ほどですが、設置してからはスパムは付いていません。
ありがとうございました。 - hiro 08-07-08 (火) 23:40
-
お役に立てたようで幸いです^^
ちなみにこちらのブログでは実施後5ヶ月が立ちますが、1件もスパムコメントが付いていません!
素晴らしい効果です。
Trackbacks:0
- Trackback URL for this entry
- http://rubedo.net/2008/01/11/23/trackback
- Listed below are links to weblogs that reference
- MT4のスパム対策を施してみた from Go ahead, make my day!