ご注意下さい
この記事は3年以上前に書かれた記事ですので、内容が古い可能性があります。
スパムコメントロボットに登録されたのか、avonsのBLOGも含めスパムコメントの餌食に。
いろいろとググってみたところ、こんなサイトが。
要点をまとめると、
テンプレートの編集
Comment Listing Template
Comment Preview Template
Commment Error Template
Individual Entry Archive
上記4つのテンプレートの編集をする。
具体的には、それぞれのテンプレートに、パラメータ "spamprotect"を有効にするチェックボックスのHTMLを追加する。場所はFORMの中であればどこでもいい。
僕の場合はコメント入力テキストボックスと「投稿」ボタンの間に入れました。
< form method="post" action="< $MTCGIPath$> <$MTCommentScript$> " name="comments_form" onsubmit="if (this.bakecookie[0].checked) rememberMe(this)">
<input type="hidden" name="static" value="1" />
(略)
<label for="text">コメント:</label><br />
<textarea tabindex="4" id="text" name="text" rows="10" cols="50"></textarea><br />
<input type="checkbox" id="spamprotect_check" name="spamprotect_check" />お手数ですがスパム対策の為ここをチェックしてください<br />
<br />
<input type="submit" name="preview" value=" 確認 " />
その後そのチェックボックスがチェックされてるかチェックするスクリプトを $MT/lib/MT/App/Comments.pmに追加します。
159 if (!$q->param('text')) {
160 return $app->handle_error($app->translate("Comment text is required."));
161 }
162 #Spam protection added by chrome
163 if (!$q->param('spamprotect_check')) {
164 return $app->handle_error($app->translate("Please check the 'Spam Protection' checkbox."));
165 }
166
167 my $comment = MT::Comment->new;
これで、チェックボックスにチェックが入っていないコメントは弾かれることになります。(予定)