新規記事投稿 フォロー記事投稿 記事のキャンセル
From: にあ <nir@mvg.biglobe.ne.jp>
Subject: Re: 掲示板荒らし対策 何か知恵をお貸しください m(__)m
Date: 2000/01/25 03:45:53
Reference: mesh.forum.4/00118

1月23日に、えいゆんさんは書きました。

>うぇぶ会議室は、かれこれ2年ほど使わせていただいております。

あ、えーと、実は、ずっとROMしてました。(^^ゞ

# rimのY2K対策に伴うサーヴァOS変更に引っかかっているのかな?
# それとも以前ここでも起こった使用容量の突然の増大で再開が
# 出来ないでいるのかしら? とチョットはらはらしていました。(^^;
## でも、折角BBS再開しても、BSはこの3月で終わりみたいですね。(T_T)

>さて、最近ですが私の運営している掲示板に掲示板荒らしが
>現れまして、その対策に迫られています。

荒らしと一口に言っても色々な物がありますが、どんな行為のことを想定していますか?

>1.うぇぶ会議室で、書き込み中に書き込んだ人のhost名を入れる方法があれば
>  教えていただけませんでしょうか?

単に接続したremote host名を表示して、情報が公開されていると言うことを示して
抑止力にするとか、成りすまし投稿を見破りやすくしたい、と言うことで良いでしょうか?

remote hostに限らずCGIに渡された環境変数を記事中に表示したいという事なら、
article.cgi の中に make_article() と言う関数がありますから、そこの最初に、

sub make_article {
        local($sec, $min, $hour, $mday, $mon, $year);
        local($remote_host) = &http'http_quote($ENV{'REMOTE_HOST'});
        local($user_agent) = &http'http_quote($ENV{'HTTP_USER_AGENT'});

        $link = $ids{'name'};
          .
          .

の様に環境変数を読み込んでおいて、後ろの記事内容を作っているところを、

          .
          .
Subject: $ids{'subject'}<BR>
Date: $date<BR>
Remote-Host: $remote_host<BR>
User-Agent: $user_agent<BR>
$reference<PRE>
          .
          .

の様に変更すれば、Remote-HostとUser-Agentが表示できます。
Remote-Hostはサーヴァによっては名前解決しない場合もあるので、
Remote-Addrの方が良いかも知れないです。

>2.また、それ以外で効果的に掲示板荒らしを仕掛けがありましたら
>  教えていただけませんでしょうか?

最近更新した、不正/多重投稿防止パッチは当てている様ですね。

これは、他掲示板への投稿ボタン張り付けとかオートポストスクリプト等の攻撃に
対処する物ですので、通常の投稿動作をしながら嫌がらせをするような事例には無力ですね。

相手が特定のサイトから来るのであれば、.htaccess ファイルで排除できますが、
大手ISPを利用しての投稿だったりすると、同じISPを使っている人たちを道連れに
する事もできず対処に困るでしょうね。(^^;

# うちには荒らしさんは来たことが無いので何とも言えないのですが。(^^;;

ここは荒らしは無かったのですが、ロボットの「全落とし攻撃(笑)」にあって
難渋した事があります。biglobeは.htaccessが使えませんのでCGI本体に
アクセス制限機構を加えてあります。

例えば現在のここのアクセス制限設定は、access.cgiと言うファイルにまとめて
secure.cgiから呼び出しています。ここではlycosからのアクセスを排除しているだけですが。
# 汎用化してadd-onとして出す、とか言っておきながら、そのままになっています。(^^;;