About

Navigator

Help


Community


banner
管理人サイト

Copyright ©
Billinavi.com.

英語のコメントスパム対策

ホームページで掲示板を使っている方は多いでしょう。
その時に困るのがコメントスパム。

ビリヤード関連サイトを回ってみても、掲示板が宣伝書き込みで埋まってしまっているのをよく見かけます。
特に波状攻撃を加えてくるのが海外サイトからの英語の書き込み。
これは本当にひどい。
宿主まで殺してしまうウィルスみたいなもんです。
宣伝っていうより殲滅作戦ですよ。
国防省の管轄かもしれませんな。

管理人の方が一つ一つ削除していてもまーったく追いつきません。
半日の間に過去ログが全部消えてしまうくらい書き込んでいきます。

こういった海外のスパムはIPで制限をかけていても無理です。
色々なIPで攻撃を仕掛けてきます。


この英語のコメントスパムには、掲示板に英語だけの書き込みを書き込めなくしてしまうのが手っ取り早いです。
Perlをちょっと触れる方向けに、そのスクリプト例を残しておきます。

なお、スクリプトを見るとスパムを送る業者がそれに対応してしまうから、スクリプトを書き込んじゃダメなんていう話も聞きますが、それじゃ本末転倒でしょ・・・。
実際日本語をちょびっとだけ入れたスパムも出始めているようですが、その前に対策ができずに泣く泣く掲示板を消していくサイトを救うことが先決だと考えます。

まぁ、一応追記のところに書く、ということで・・・・w

英語の記事を弾くスクリプト例


### ひらがなでチェックする ###
$bbdy = $in{'comment'};
&jcode'convert(*bbdy, 'euc');
if ($bbdy !~ m/(\xA4[\xA1-\xF3]){2}/){
&error('投稿制限にかかる書き込みです');
}
### リンクの数一定以上なら終了 ###
if ($in{'comment'} ne ''){
my $urlnum = ($in{'comment'} =~ s/http/http/g);
if (!$urlnum) { $urlnum = ($in{'comment'} =~ s/www\./www\./ig); }
if ($urlnum > 4){
&error('投稿制限にかかる書き込みです');
}
}

$in{'comment'} の部分はそれぞれのスクリプトの呼び出し方によります。
&error() に関しても同様です。

このスクリプトをCGIが書き込みを実行する前に挿入します。
sub regist{} の中や、regist.cgi の中ですね。

これで英語だけの書き込みは完全シャットアウト!!
面白いくらいピタリと書き込みが止まります。

是非お試しあれ~。


*Perlのことはよーわからんけど、どーしても導入したい!という人は、どこの掲示板スクリプトに使いたいのかを明示して質問してみてください。(「KentさんのとこのWebPatio」とか)
対応できるかどうかは分かりませんが手助けできそうなところはお手伝いします。
誰か他の人が助けてくれるかもしれませんw

トラックバック

このエントリーのトラックバックURL:
http://billinavi.com/mt/mt-tb.cgi/5

コメントを投稿