コメントスハム襲来。
まあ、承認するまで表示されないのですが、投稿があった通知が来るだけでもウザイので、2.661のころに使ったコメントスパム対策のワザが懐かしくなったので試しに3.0にも導入。
「投稿の前にここをチェックしてください」
という方法でコメントスパムロボットの攻撃をかわすわけですが、まず、
Individual Entry Archive
と
いうテンプレートにコメント入力欄を作っているので、
<input type="checkbox" id="spamprotect" name="spamprotect" /><label for="spamprotect">投稿前にここをチェックしてください</label>
というのを投稿の「確認」のボタンの記述の直前に挿入する。
んで、
/MT/lib/MT/App/Comments.pm
に、このチェックボックスがチェックされているか判定するコードを挿入する。
3.0だと、2.661よりもはるかにソースが違うみたいで、探しにくいが試しに、231行目に同じルーチンが登場するので、そこに挿入してみることにします。
if (!$q->param('text')) {
return $app->handle_error($app->translate("Comment text is required."));
}
# Spam protection added by chrome
if (!$q->param('spamprotect')) {
return $app->handle_error($app->translate("Please check the 'Spam Protection' checkbox."));
}
my ($comment, $commenter) = _make_comment($app, $entry);
こんな感じ。
本当は、TypeKeyで認証されている人はチェックしなくてもいいようにしたいところですが、面倒なのでまずはこれで。
コメント (2)
ふむふむ……。
え? なんで読んでるかって?
そりゃあ、なんつうか、かんつうか。
今後ともエコヒイキに(半笑)。
投稿者: ogoh | 2004年09月07日 21:07
日時: 2004年09月07日 21:07
うーん。
TypeKeyが不安定でコメントできない方が致命的かと思って元に戻した。
投稿者: きりしま | 2004年10月14日 18:37
日時: 2004年10月14日 18:37