.htaccessでリファラがこのブログを指しているコメントしか受け付けないようにしたのですが、最近すり抜けてくるスパムコメントが増えてきました。
リファラーを偽装してまでこんなアクセスの少ないブログにスパムを送り付けなくてもいいのになぁ。何か効果的な策が無いものかとググってみたらヨサゲなのが見つかりました。要は「投稿」ボタンを押したコメントしか受け付けないというコトですね。早速プラグインをダウンロードしてテンプレートを変更してみました。
まずはコメントテンプレート、
<form method="post" action="<$mt:CGIPath$><$mt:CommentScript$>" name="comments_form" id="comments-form" onsubmit="return mtCommentOnSubmit(this)"> <$MTKeystrokes$> <input type="hidden" name="static" value="1" />
1行加えます。更に
<mt:ignore> <textarea id="comment-text" name="text" rows="15" cols="50" onfocus="mtCommentFormOnFocus()"></textarea> </mt:ignore> <textarea id="comment-text" name="text" rows="15" cols="50" onfocus="mtCommentFormOnFocus()" onkeypress="keystrokes(this.form)"></textarea>
と
<mt:ignore> <input type="submit" accesskey="s" name="post" id="comment-submit" value="投稿" /> </mt:ignore> <input type="submit" accesskey="s" name="post" id="comment-submit" value="投稿" onclick="keystrokes(this.form)" />
の2つを加えてオシマイです。あ、共に"mt:ignore"はオリジナルを残してコメントアウトしているだけですから、その後の行を加えればOKです。
もうひとつ、「コメントプレビュー」テンプレートの同様の部分にも手を加えれば完了です。
直後のサーバーログを確認したところ、早速cgiを叩きに来ているようです。
但しmtにログインしてもコメントは書かれていません。よく見るとカーソル行のあるアクセスでurlをGETし、その1秒後に同じIPアドレスからGETしたurlをリファラとしてPOSTしています。どう見てもプログラムでコメントを書き込んでいますね。
このプラグイン、効果があるような気がしますがもう少し様子を見てみましょう。
手動でコメントは書けるのか?
コメントプレビュー後に投稿してみる