May 13, 2004
コメント本文のURLをリダイレクトするコメントスパム対策
コメントスパムの対策はいろいろしていますが一番効果があったのがURLをBlacklistに登録してそのURLをブロックする対策。大分コメントスパムは減ったものの新規に書き込まれるスパムは依然として出てきます。よく考えてみたら相手の目的はPageRankをあげることな訳でそのためにMTの最新バージョンではリンク先をリダイレクトするようになっています。しかしこれはあくまでコメントを書いた人のウェブサイトへのリンクがリダイレクトになるだけなので本文にURLを羅列されるような場合は対応できません。
Simon Willisonで紹介されていたGoogleのりダイレクトを使うことで相手の目的であるPageRankを稼ぐ目的を削ぐことができます。http://www.google.com/url?sa=D&q=http://cnn.comのように書くことでGoogleの提供するリダイレクトを利用できます。この仕組みを使ってMTのコメント用の関連ファイルにリダイレクトを追加してみます。
具体的にはMTのスクリプトファイルの以下の2つにリダイレクト先をいれておきます。赤い色のところが追加した部分です。/lib/MT/Template/context.pm
720行目付近
if ($show_url && $a->url) {
return sprintf qq(<a target="_blank" href="http://www.google.com/url?sa=D&q=%s">%s</a>), $a->url, $name;
} elsif ($show_email && $a->email) {
my $str = "mailto:" . $a->email;
$str = spam_protect($str) if $args->{'spam_protect'};
return sprintf qq(<a href="http://www.google.com/url?sa=D&q=%s">%s</a>), $str, $name;
} else {
return $name;
}
}
同じく1004行目付近
if ($show_url && $c->url) {
my $url = remove_html($c->url);
return sprintf qq(<a target="_blank" href="http://www.google.com/url?sa=D&q=%s">%s</a>), $url, $name;
} elsif ($show_email && $c->email) {
my $email = remove_html($c->email);
my $str = "mailto:" . $email;
$str = spam_protect($str) if $args->{'spam_protect'};
return sprintf qq(<a href="http://www.google.com/url?sa=D&q=%s">%s</a>), $str, $name;
} else {
return $name;
}
}
/lib/MT/Util.pm
315行目付近
sub munge_comment {
my($text, $blog) = @_;
unless ($blog->allow_comment_html) {
$text = remove_html($text);
if ($blog->autolink_urls) {
$text =~ s!(http://\S+)!<a href="http://www.google.com/url?sa=D&q=$1">$1</a>!g;
これで書き込む目的は排除できるでしょう。しかし念のため警告の文章も加えておきます。
Note to spammers: Any URL in Comment is No effect on your Google PageRank.
And your inappropriate comments will be deleted and blacklisted and IP will be Banned.
こんな感じで。
追加するテンプレートはMTの管理メニュー内の
Comment Listing Template
Comment Preview Template
Individual Entry Archive
この辺に上の警告文を加えておきます。さて効果はあるでしょうか。
追記 2004-05-13 14:36
MTの最新バージョンなどで既に投稿者名のリンクがリダイレクトに対応している場合はUtil.pmだけの変更で大丈夫です。
Posted by kengo at May 13, 2004 02:13 PM | TrackBack | BLOG | Blog Search | English | QR |
具体的には書いてみないとわからないですよね。
こんな感じになります。
URLをコメントの本文内に書くとリダイレクトされますのでPageRank稼ぎの手助けになりません。
Posted by: kengo on May 13, 2004 02:23 PMこんにちは。
スパムコメントはPageRankを上げるためだったんですか。なるほど、そういうことですね。
最近、自分のサイトにもスパムコメントがちょくちょくくるようになったので(メージャーになってきたってことかな?(^_^;)\('_' ) オイオイ...)何らかの対策を粘ればと考え始めたところです。
ここで紹介している方法だと、スパムの本来の目的を防ぐことが出来ますが、結局スパムが書かれてしまいます。まあ、自分のサイトでこのような対策を採用していることをアナウンスして、スパムコメントを書いても無駄だよっていうのが伝わればスパマーは諦めてくれる?
Blacklistに登録してそのURLをブロックする対策が一番良さそうなので参考にさせていただきます。
ちょっと非建設的な意見で申し訳ない。m(__)m
Posted by: zRyu on May 14, 2004 11:24 AM細かいトコですが、類似、のつづりが違う。 L と R の位置が反対です。
(現在)
Simirality
(正しいもの)
Similarity
すいません、ヘンに細かい突っ込みになってます(^^;;;
Posted by: YamaKen on May 16, 2004 12:59 AMこのGoogleのリダイレクト機能というのは
誰でも使用してよいものなのでしょうか?
levelさん こんにちは。
googleのリダイレクトはblogger.comなんかで使っているやつですので、
使えるうちは使っていいものと思います。
googleでの検索結果にリンクを貼るようなものなので。
Posted by: kengo on August 8, 2004 10:54 PM
Twitter経由でコメントする
メールの場合はこちらまで
Google Talk からメッセージを送る

















