« キーボード更新 | トップページ | ボトルネックを解消 »

2006.03.02

BBS荒らしを撃退

別館のBBSに海外からのリンクリストが書き込まれるようになってから,IPアドレスで,アクセス制限をかけましたが,PROXY経由で来るのか,リストに追加しても追加しても新たなIPアドレスで書き込まれる状態が3ヶ月近く続いておりました.
そこで 書き込みの中にリンクが3つ以上含まれる場合は書き込めないように変更しました.
うまく撃退できたようです.

以下 2006/03/12追記

別館BBSはapeboard+ Ver.1.04 (Shift_JIS)を使用しています.

:web site

私はPearlを知りませんので改造は次男に依頼しました.追加部分を赤字で示します.
ファイル:apeboard_plus.cgi

# フォームデータの処理 ------------------------------------------


#####
my $count_http = 0;

if ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $query, $ENV{'CONTENT_LENGTH'});
} else {
$query= $ENV{'QUERY_STRING'};
}

@assocarray = split(/&/, $query);

foreach (@assocarray) {
($property, $value) = split(/=/);

$value =~ tr/+/ /;
$value =~ s/%([\dA-Fa-f][\dA-Fa-f])/pack("C", hex($1))/eg;

$value =~ s/\r\n/\r/g;
$value =~ s/\n/\r/g;
$value =~ s/ \r \r//g;
$value =~ s/\ \r\ \r//g;
$value =~ s/ \r/\r/g;
$value =~ s/\ \r/\r/g;
$value =~ s/\r\r\r\r//g;

$value =~ s/&/&/g;
$value =~ s/ $value =~ s/>/>/g;
$value =~ s/,/\0/g;

$value =~ s/\xFF/[FF]/g;

$addarg_temp = $value;
while($addarg_temp =~ m!https?://!i){
&test("A");
$count_http++;
$addarg_temp =~ s(https?://){}i;
if($count_http >= 3){&print_error("リンクは二個までです。");}
}

if ($tagset eq 'off') {
$value =~ s/"/"/g;
}

# jcode.pl による文字コードの変換 -------------------------------

&jcode'convert(*value,'sjis');
&jcode'h2z_sjis(*value);


上記の中にある

$value =~ s/\xFF/[FF]/g;
この部分は 文字コードにない 0xFFを書き込まれてまともに表示できないようにされたので,その対策です. BBS荒らしで困っておられる方の参考になれば幸いです.

|

« キーボード更新 | トップページ | ボトルネックを解消 »

「パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/3174/8916123

この記事へのトラックバック一覧です: BBS荒らしを撃退:

« キーボード更新 | トップページ | ボトルネックを解消 »