miniBBSにsubject指定でのスパム対策を導入
サイドバーにあるfrom shunさまスキン作成のminiBBS(スクリプトは2apesさま作成のapeboard+)に、スパム対策第4弾を施しました。
禁止URL制限、禁止キーワード制限、htaccessによる制限を既に導入済みですが、どうしてもいたちごっこになりがちです。
また禁止ワードに「http://」を入れると、宣伝スパムがほとんどカットできるのですが、自動リンク機能が使えず、URL入りの書き込みが出来なくなってしまうのが難点です。
そこで考えたのが、投稿できるsubjectデータを指定する方法です。
subjectに入るデータはスキンによって異なります。
題名を入力できるスキンでは、題名データが入ります。
フォントカラーを選べるスキンでは、カラーコードが入ります。
アイコンを選べるスキンでは、アイコンのファイル名が入ります。
このように、subjectは利用するスキン独特のデータになるのですが、スパムでは大抵「hello」などの適当なデータが入れてあります。
そこで自分のスキンで使われるsubjectを指定し、それ以外のsubjectだった場合、書き込みを禁止するようにしました。
手順は以下の通りです。
1.「boardini.cgi」に以下の設定を追加します。
# KOROPPY追加↓
# subjectを指定して書き込みを規制する。 ____.38
#(規制するときは'1'、しないときは'')
$permit_SUBJECT = '1';# 投稿を許可するsubject(複数指定する場合はカンマで区切る) ____.39
@permitsubject = (
"XXXXX",
"XXXXX",
"XXXXX",
"XXXXX");
# KOROPPY追加↑
項目と項目の間であれば、挿入場所は基本的にどこでも構いません。
私はファイルの一番下、以下の文章の直前に挿入しています。
# =========================================================================
# 以下の 1; は絶対に消さないこと!!!
# =========================================================================
1;
#
=========================================================================
「投稿を許可するsubject」とは、「apeskin.html」の「<SELECT name="subject"~>」にある「option value」の値全てです。
<option value="XXXX">○○</option>
2.「apeboard_plus.cgi」のsub write_message(通常の記録用サブルーチン)に、以下の記述を追加します。
「# 書き込み元のチェック」の直前に挿入します。
# KOROPPY追加↓
# 指定外subjectによる投稿を制限 ------------------------------------
if ($permit_SUBJECT ne ''){
# キーワードチェック
$match=1;
foreach (@permitsubject) {
if (index($subject,$_) >= 0) { $match=0; last; }
}
if ($match){
&unlock_close(TXT);
&print_error('投稿を許可されていません。');
}
}
# KOROPPY追加↑
季節ごとにスキンを変えるなど、apeskin.htmlのoption valueを変更した場合、手順1も書き換える必要があります。
またファイル名のように、変更しても構わないデータが入る場合は、配布されたスキンそのままのoption valueではなく、スパムで使われにくい値に変更しておくといいと思います。
【2006.5.10 追記】
apeboard+本体に、SPAM対策機能が追加されました。
「miniBBSのapeboard+本体をSPAM対策版に差し替え」をご覧下さい。
| 固定リンク
「ウェブログ・ココログ関連」カテゴリの記事
- ブクログの本棚をサイドバーに貼り付けてみた (2009.01.18)
- サイドバーの「最近の記事」を、日付別にツリー表示(2007.02.26)
- ココログのサイト内全文検索窓を設置(2005.10.31)
- 特定の記事が保存(再構築)できなかった覚書(2008.04.09)
- CSSでココログの画像をポラロイド風にアレンジ(2006.05.23)


コメント
KOROPPYさん、こんにちは♪\(o⌒∇⌒o)/
本当にミニbbsにはスパムが多いですね!!
まゆびもいろいろなブログで見ました。
まゆびのところはまだ大丈夫ですが、
少しずつスパム対策していかなければいけませんね。
まゆびもこちらやshunさんのところで勉強していきたいと思います。<(_ _)>
投稿: まゆび | 2006.04.03 16:31
【まゆびさん】
apeskinは仕組みが簡単なせいなのか、
スパムに狙われやすいみたいですね。
気に入っているので、スパムブロックして使い続けられるよう、
何度かカスタマイズをいれては、いたちごっこの繰り返しです。
今回の対策で、いい結果が出るといいのですけれど。
投稿: KOROPPY | 2006.04.03 17:45
KOROPPYさん、報告ありがとうございます!
またまた素晴らしい対策ですネヽ(´ー`)ノ
実は私も1つ考えた対策があり、指定した数の平仮名が無いと投稿できないというのを完成してはいるのですが、忙しくて1ヶ月近くブログを更新しておらず・・・(^^;)
でもこの機会に久しぶりに更新して、
KOROPPYさんのこの記事へのリンクも貼らせて頂きたいと思います♪その時はどうぞ宜しくお願いします[ハート]
投稿: shun | 2006.04.03 20:56
【shunさん】
「http://」をしていているとほとんどスパムをカットできるのですが、
自動リンク機能を使えないのが不便なので、
もっと別の方法がないかなぁと考えてみました。
平仮名がないと投稿できないフィルター、英文スパムに効果的ですね。
ブログのスパム対策にも、そのようなものがありましたよね。
記事になりましたら、ぜひこちらでも導入させてくださいね。
投稿: KOROPPY | 2006.04.04 09:46
KOROPPYさん、おはよーございまっす♪
大変参考になりました。
私のところも、掘り込まれてからあたふたするのでなく、
事前にシャットアウトしておくようにしますね。m(_ _)m
投稿: yozoblog | 2006.04.04 09:49
【yozoblogさん】
せっかくのBBSをスパムで汚されるのは不愉快ですので、
先手を打って防御策を入れておくのもいいかもです。
投稿: KOROPPY | 2006.04.04 12:39
KOROPPYさん、こんにちはー♪
スパム対策本当に助かりました。報告がてらのトラバ入れさせていただいています。ありがとうございました。m(_ _)m
投稿: yozoblog | 2006.05.05 12:05
【yozoblogさん】
トラバと記事でのご紹介、ありがとうございました。
海外スパム対策の一助になれたら嬉しいです。
投稿: KOROPPY | 2006.05.06 17:06
KOROPPY さん、お久しぶりです!!
スパム・・・・
頭が痛いほど悩んでます!!
っていうのも、
Blogのみならず、
自己満足のHPでも、掲示板が
スパムに・・・・。
(;@ ̄ ・ ̄@)> フゥ...
『clever』の掲示板を使っているのですが
cleverの対処なんて・・・・
無いですかね?
何かアドバイスを・・・
apeboardは、なんとか
今の所、スパムを弾いてくれてるのですが・・・。
投稿: 凛 | 2006.05.09 21:57
【凛さん】
「CLEVER BBS スパム」で検索したら、こちらの対策がヒットしました。
「CLEVER BBS のスパム対策できました(^0^)」
ということなので、CLEVER BBSの場合、
私のようにCGIを直接いじる方法は使えないようですが、
対策がなくもないようですね。
他にも対策が発表されているかも。
いろいろ探してみて下さいね~。
投稿: KOROPPY | 2006.05.10 09:49
Σ(ノ▼ο▼)ノ オォオォオオオ!!
ココ、にありましたか!!
このサイト・・・・教えてくれた方が居てね
ここまで、探しきれなかったとです(* ̄ー ̄*)ゞポリポリ
KOROPPY 様、ありがと!
今日は色々、あの手・この手で
やってみたんだよ!
今の所、来てないみたい!
段々、スパムあるかな?無いかな?が
癖になりそうです!!
投稿: 凛 | 2006.05.10 16:53
【凛さん】
対策の効果が出るといいですね~。
こちらは今日、apeboard+本体がSPAM対応してました。
投稿: KOROPPY | 2006.05.10 18:47