再度。って感じなのですが。
まずは、テストです。
MTHashを使います。
Forcing Comment Previews at Musings
Reference :
- Forcing Comment Previews at Musings
- スパム対策を強化 at Zakimi::Blog
- プレビューボタンのみ表示して
hashを仕込むというコメントスパム対策
at Going My Way - コメントスパム対策 at 日々の移ろい
MT 3.11-ja用。覚え書き。
your-mt-folder/lib/MT/Template/Context.pm
1200行目過ぎくらい。
if ($cookies && $cookies->{commenter_name} && $cookies->{commenter_name}->value()) {
$commenter_name = MT::I18N::encode_text($cookies->{commenter_name}->value(),’utf-8′,undef);
}
と
if ($registration_allowed || $unregistered_allowed) {
$javascript = <<JAVASCRIPT;
の間。
require Digest::SHA1; my $sha1 = Digest::SHA1->new; $sha1->add( $entry_id . $ENV{'REMOTE_ADDR'} ); my $salt_file = MT::ConfigMgr->instance->PluginPath .'/salt.txt'; my $FH; open($FH, $salt_file) or die "cannot open file <$salt_file> ($!)"; $sha1->addfile($FH); close $FH; my $comment_validated = $sha1->b64digest . "=";
1300行目過ぎくらい。
<p><label for=”text”><MT_TRANS phrase=”Comments:”></label> $allow_comment_html_note<br />
<textarea tabindex=”4″ name=”text” rows=”10″ cols=”50″ id=”text”>$comment_text</textarea></p>
と
<div align=”center”>
<input type=”submit” name=”preview” value=” <MT_TRANS phrase=”Preview”> ” />
<input style=”font-weight: bold;” type=”submit” name=”post” value=” <MT_TRANS phrase=”Post”> ” />
</div>
の間に
<input type="hidden" name="validated" value="$comment_validated" />
your-mt-folder/lib/MT/App/Comment.pm
250行目付近。
if (!$q->param(‘text’)) {
return $app->handle_error($app->translate(“Comment text is required.”));
}
と
my ($comment, $commenter) = _make_comment($app, $entry);
の間に
require Digest::SHA1; my $sha1 = Digest::SHA1->new; $sha1->add( $entry_id . $ENV{'REMOTE_ADDR'} ); my $salt_file = MT::ConfigMgr->instance->PluginPath .'/salt.txt'; my $FH; open($FH, $salt_file) or die "cannot open file <$salt_file> ($!)"; $sha1->addfile($FH); close $FH; my $digest = $sha1->b64digest . "="; if ($q->param('validated') ne $digest) { return $app->handle_error($app->translate( "Please preview your modified entry before posting it.")); }
Previewをしないと投稿出来なくなっています。
それを確かめたら、
Individual Archives TempleteにあるPostボタンを
削除します。
で、Rebuild!!
はぁ。
これ、凄く手間取ったんです。
原因は良く分からず。
ということで、きちんとメモ。でした。
こんばんは。MTのスパムに業を煮やして対策方法探していました。参考にさせて頂きます。
トラックバック文字化けしていますね。垂オ訳ありませんでした。(汗)
お返事遅くなって垂オ訳ありません。
TBの文字化け高墲ネいですよ。
なんか、新しいバージョンでは対策とられてると
聞いたのに、なんか駄目なんですよね・・・。
コメントスパムが来るようになり、こちらにたどり着きました。 MT3.01D-j なのですが、コメントできなくなってしまいました。お暇な時にでも助けていただけないでしょうか。こんなのが出ます。
Use of uninitialized value in string ne at lib/MT/App/Comments.pm line 246.