プロが教える店舗&オフィスのセキュリティ対策術

perlのcgiの掲示板で、荒らしの書込みがひどいです。
おそらく外国の悪質ないたずらで、勝手に書き込まれて
いっているものです。毎日50件くらいあって、削除するのも大変です。
その荒らしの書込みを削除しているときに、
全ての荒らしの書込みに同じ単語が含まれていることに
気づきました。
そこで、その単語(文字列)を含む文章を書込み禁止にしたいのですが
どうすればいいのでしょうか。

とあるサイトからダウンロードさせてもらった掲示板
なのですが、そこのサイトはここ2年間くらい更新されていないので、
相談しても無駄だと思ってので、ここでききたいとおもいました。

A 回答 (2件)

特定文字をはねる場合は


@haijyo = (
'禁止文字列'
,'を入れる'
,'適当に増やす。'
);

foreach $haijyo (@haijyo) {
if ($comment =~ /$haijyo/) {
&error_message('あなたには投稿する権利がありません');
}
}


上記だと結構書き込まれてしまうので、私は以下の物を使用しています。
日本語が書き込まれてない場合エラーを返します。
(変な記号を使うと通りますが)

&EROOR("内容の記入不足です") if $FORM{'comment'} !~ /[^a-zA-Z0-9\-\.\=\_\/\:\;\@\%\&\?\!\+\~\(\)\|\*\$\'\"\#\r\n\<\>\ ]/;
    • good
    • 1
この回答へのお礼

とても親切にありがとうございます。
おそらくこれが求めていた答えなのですが、
状況が変わったので、質問を取り下げたいと思います。

お礼日時:2006/08/20 18:49

>そこで、その単語(文字列)を含む文章を書込み禁止にしたいのですが


>どうすればいいのでしょうか。

その Perl のスクリプトにそのような機能がないなら、スクリプトを修正するしかないと思います。そのスクリプトが公開されていない以上、「こうすればいいです」とは誰にも言えないですよ(^^;
XXというサイトに公開されているスクリプトですと言えば、誰か超親切なひとが修正してくれるかも(?)しれません。でも、やはりそのサイトの管理人にメールでもして、修正をお願いしてみるのがいいのでは?

それか、いつも特定のIPアドレスから書き込まれているのなら .htaccess を使ってアクセス制限するという手も考えられます(あなたのHPをアップロードしているサーバで使える設定になっていればですが)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!