Serene Bachでコメントスパムを弾く

削除するのも面倒になったのでコメントスパム対策を行いました。
使用したのはコンピュータ関連の備忘録さんのIPスパムフィルター
1段階目で送信元のIPを調べ国外のものを弾き(国外でも許可アドレスを設定可能)、2段階目で通信経路を調べて国内サーバを利用したスパムを排除。
SBで利用する場合、この段階の前にメールアドレスやキーワードの登録でIPチェックをするかしないかの振り分けが可能です。

Index | クリックで該当箇所の解説へジャンプします

手順1:ダウンロード
こちらの記事の最後の方にダウンロード用のリンクがありますので、落として解凍します。


手順2:パスワードの設定
ipcheckフォルダ内のsettei.cgiをテキストエディタで開き、15行目でパスワードを設定します。
※SereneBachでUTF-8版を使っている場合
文字化けする場合があるので、19行目で$moji = 'UTF-8';と文字コードを指定し、settei.cgi自体もUTF-8で保存しなおします。


手順3:アップロード
IP_Base.pm:libフォルダ内にアップ。パーミッションは755。
ipcheckフォルダ:sb.cgiと同じ場所にアップ。パーミッションは755。
ipcheckフォルダ内のファイルのパーミッションも変更します。
list.cgiとsettei.cgiは755、その他のcgiは666に設定します。
ファイル設置例はこんな感じ。
太文字がアップロードするファイルで、()の数字がパーミッションです。
sb/
├sb.cgi
ipcheck/ (755)
│ ├settei.cgi (755)
│ ├list.cgi (755)
│ └その他のcgiファイル (666)
├lib/
│ ├resource/
│ ├sb/
│ │└Receipt.pm(手順4で書き換え)
│ ├XML/
│ ├IP_Base.pm (755)
│ ├mimeutil.pl
│ └sb.pm

手順4:lib/sb/Receipt.pmを書き換える
libフォルダの内のsbフォルダに入っているReceipt.pmをテキストエディタで開き46行目の後ろに、use IP_Base;と追記します。
Receipt.pmのバックアップを忘れずに!
use sb::App ();
@ISA = qw( sb::App );
use IP_Base;

手順5:コメント・トラックバックスパムを弾く設定
ここでは直接スパムを弾く設定のみを紹介しています。 承認待ちにして保存する方法については本家エントリ後半の「■ コメントスパム対策」と「■ トラックバックスパム対策」の各設定をご参考下さい。
コンピュータ関連の備忘録 | IPスパムフィルターをSerene Bachで使う方法!


◆EUC-JP版でコメントスパムを直接拒否する場合
書き換える場所はReceipt.pmの207行目付近。
▼書き換え前のデフォルトの状態


▼コメントスパムを直接拒否するように設定したもの

◆UTF-8版でコメントスパムを直接拒否する場合
書き換える場所はReceipt.pmの207行目付近。
▼書き換え前のデフォルトの状態


▼コメントスパムを直接拒否するように設定し、さらにUTF-8版用に書き換えたもの

設定が終われば終了です。SBの再構築は不要です。
必ず自分でコメントのテスト投稿をすることを忘れずに!


■Tips1:海外の友人や訪問者がいる場合
海外在住の友人がいたり、国外の方とのコミュニケーションが想定される場合、メールアドレス欄を利用した振り分けが可能です。
◆メールアドレス登録型
あらかじめ友人のメールアドレスが分かっている場合は、settei.cgiにアクセスしてコメントをメアドで許可の設定から、メールアドレスを追加しておきます。
こうすると、コメントを投稿時にメルアドで判別して、登録されていればIPチェックを行わずに受付けてくれますので、日本語入力が出来ない友人でも大丈夫です。
◆キーワード登録型
settei.cgiでコメントをメアドで許可の設定から、メールアドレスの代わりに任意のキーワードを登録しておきます。
そしてコメントフォームで「海外在住の方はメルアド欄に●●と記入して下さい」と案内文を追加しておきましょう。
メルアド欄に登録してあるキーワードを記入してもらうことで、IPチェックを行わずコメントを受付けるようになります。
訪問者が日本語が打てると限らない場合は、半角英数のキーワードでも。


■Tips2:弾いた時のメッセージを変更する
コメントスパム認定した弾いた時に表示されるメッセージを変更したい場合。本当にスパムだけなら不要ですが、うっかり友人知人が弾かれかねない時に、メルアドやキーワードを入力してもらうようお願いするメッセージを出すことができます。
lib/sb/language/ja.pmの280行目を変更。

$self->string('error_no_comment' =>'コメント内容がありません');

例えばキーワード設定をしている場合はこんな風に。
$self->string('error_no_comment' =>'スパムチェック中のため、メルアド欄に●●と記入して投稿して下さい');

■Tips3:テストする時の注意
IPチェックの他に、コメントに「連続したひらがな」を含むかどうかで確認していますので、テストをする時に「テスト」などのカタカナや漢字のみの投稿は弾かれる場合があります。
「テスト」や「テストだ」はアウト、「テストです」はセーフ。
テスト投稿は日本語の一般的な文章で試してみて下さいね。


■参考リンクまとめ
配布元
 コンピュータ関連の備忘録
ダウンロード
 コンピュータ関連の備忘録 | IPスパムフィルター
SereneBachでの設置解説
 コンピュータ関連の備忘録 | IPスパムフィルターをSerene Bachで使う方法!
サポートフォーラム
 IPスパムフィルターサポート掲示板

Related Archive

Comments

コメントエリアをスクロールする / スクロールを解除する

ユヅさん。こんばんわ。
こちらの記事を拝見して、直ぐに本家様からDLして導入しました。

丁寧な説明&解説で、うとい私にもバッチリ理解できました。ありがとうございます。

無償で導入できて、コメント(トラバ)スパムに憂鬱になることもなく、まさにバラ色のブログライフです。(笑)

毎日のお勤め(コメント削除)から解放されて嬉しいです。

  • 060213
  • ききょう

ユヅさん、初めまして、こんにちは。
あんこと申します。
ブログテンプレのカスタマイズについて、いつもユヅさんの記事を参考に楽しくさせていただいております。

一つだけ、お聞きしたいことがありコメントさせていただいたのですが…

日付表記のカスタマイズで、libフォルダの中のsbcommon.plファイルの書き換えとあるのですが、私のDLしたsbにはsbcommon.plファイルが無いのです…。
この場合、どのファイルを書き換えれば日付表記の変更が可能になるのでしょうか。

宜しければ教えていただけると幸いでございます…不躾な質問、申し訳ございません。

まだまだ寒い日が続いております。お体にお気をつけて、がんばってくださいねv

たけっぴろ!です(^^;)

ひょっとして「ユヅさん」すごい人なのでは..(^-^)
私はこんなちゃんとした説明文は書けないです~(^^;)
すっごくわかりやすいですし..すっごくユーザーフレンドリーな感じがします~(^0^)

あのIPスパムフィルターは名前こそアプリケーションみたいな名前を付けてますが、実態は関数を組み合わせたモジュールと呼ばれるもので、実装の仕方を変えるといろんな動作をさせることができるんですけど、組み合わせる方法がいっぱいあって..どうやって説明したらいいかがなかなか難しく...(^^;) で、とりあえず説明を書いては見たものの自分で見てもどうもわかりにくい(^-^)

で、、ここの説明を見させて頂きまして..「なるほど~こういう風に説明したらいいんだ~!」って、目から鱗とはまさにこのことかと..(^0^)

私の方も頑張ってわかりやすい説明を心がけるようにいたします~(^-^)

ありがとうございました(^0^)

PS
何かおかしなことがありましたらいつでもおっしゃってくださいませ..(^-^)

●micoさん
こんばんは。
導入お疲れ様でした。
お互いコメントスパムから解放されるといいですねえ^^

●ききょうさん
こんにちは。
SereneBachをお使いではないですか?SereneBachでは元々の機能として日付表記の変更が管理画面から行えますので(やり方はヘルプをご覧下さいませ)、sbのようにスクリプトをいじる必要はありません^^

●たけっぴろ!さん
こんにちは。
いやいや全然すごくはないですが、作者さんから見てわかりやすいと感じていただけたなら大変光栄です^^

自分が知っていることを、知らない人に説明するのは難しいといいますが、専門的なことだと尚更なんでしょうね^^
お疲れ様です~

  • 060214
  • ききょう
  • レス不要

ユズさん、こんばんは。
早とちりで不必要な質問をしてしまって、本当に申し訳ございません…。
確認してみたところ、確かにSerene Bachでした。
ヘルプを参照にたった今、設定変更を無事終えることが出来ました。
お時間を煩わせてしまったにも関わらず、ご親切に返信を本当にありがとうございました!
これからも応援しております、がんばってくださいね。
ほんとうにありがとうございました!

  • 060214
  • D
  • どっちでもOK

・・・はじかれるかな~?
ものすごい早い改良ありがとうございます!

  • 060214
  • D
  • どっちでもOK

か、書けました!!
ありがとうございます!
ちょっと前からかけなかったのは
このせいだったんですね!
身をもってコメントスパムをはじくフィルターの威力に触れて、完敗!!

ユヅさんこんばんは。
ユヅさんの記事を参考にしながら、なんとかスパムフィルターを導入できて、やっとスパムから解放されました。
ありがとうございます。
お忙しいところすみません。質問があるのですが、ユヅさんのようにコメント欄とトラックバックの欄に一言書きたいのですが、コメント欄の部分がうまく行きません。針ねずみの古い方を使っております。
<form action="{site_cgi}" method="post">
<h4 class="com_title">Comment Form</h4>
<div class="trackback"><p class="link">※スパム対策のため、海外の方はメルアド欄に「海外在住」または「kaigai」とご記入下さい。</p></div>
<dl>
<dt><label for="name" id="labelname">name:</label></dt>
<dd>
<input type="text" tabindex="1" name="name" id="name" value="{cookie_name}" size="20" />
・・・・
と書くと、文章の上に点線が出てしまいます。
どうしたらいいでしょうか。
枠付きでの書き方も教えていただけると幸いです。

お待たせしました~~(^0^)

CleverBBSの本体を一切さわらない、魔法のスパム対策(アイデアは頂き物ですが...)ができました。

これで、堂々と「CleverBBS」のスパム対策ができます~(^0^)
現在公開してるのはとりあえず版ですが、、

と言うことでボチボチと公開していきます(^-^)

ひょっとして、ユヅさんじゃなかったのだろうか..(^^;)違いましたら...すみません(^^;)

ちなみに公開はこちらです..
link

●bucoさん
一言コメント部をpでくくって新しくclass名をつけてやり、それに枠線をつけるなりフォントサイズを変えるなり、任意のCSSを指定されるのがやりやすいかと思います。
CSSの書き方は下記をご参考下さい。
link

●たけっぴろ!さん
こんにちは。
apeにつづいてcleverも使えるようになったんですね。お知らせありがとうございます。
ただ、余計なお世話ではありますが、作者さんに対して角が立つ書き方は控えられた方が余計な火種をまかずにすむと思います^^;

> 余計な火種をまかずにすむ

ですが..ホントに3回もメールお送りさせて頂いてるんですよ~作者さんに!内容も「使ってる人がスパムに困ってるから改造を認めてあげてください~」って内容です。でも、3回とも無視ですから...さすがにちょっと~(^^;) ダメならダメでいいからメールで一報欲しかった(>_<)

でも..おっしゃられるとおりなのでブログとサポートコーナーの記述をソフトなものにしておきました~(^^;)

ユヅさん。こんばんわ♪
既に削除するのも面倒!で...sb⇒Serene Bach に変更した際についでにお引越しもさせてしまいました^^;
で!対策にと思い...参考にさせて頂きました。

これでイライラから開放されるかな?(笑)

●たけっぴろさん
お返事いただけないのは残念なことですね^^;それがそのまま不可というお返事なのかもしれませんが。
ただたけっぴろさんの文面次第では、作者さんのことを考えたユーザーさんの腰がひけてしまい、折角のスパム対策も導入を躊躇ってしまう可能性があります。それはもったいないなと思い一言申し上げた次第です(>_<)差し出がましくすみません。

●Maronさん
こんにちは。
削除するのも面倒ですよねー
すっぱり拒否したいです(笑)
お引越しもお疲れ様です^^

ユヅさん、こんにちは。
スパム対策を探してこちらにたどり着きました。
分かりやすい説明で無事に設置できたようです。ありがとうございました。
トラックバックさせていただきました。

ユヅさん、はじめましてこんにちは。
スパムフィルターを使う際、こちらの記事を参考にさせて頂きました^^
分かりやすい説明でほんと助かりました。
これを機会にSBにバージョンアップしたのですが、テンプレートも前に引き続きお借りしました。
ありがとうございました!

ユヅさん、こんにちは。

最近、SBに送られるスパムが多すぎて困っていたので、
IPスパムフィルターを導入する際に、こちらを参考にさせて頂きました。
おかげさまで、簡単に設置できました(^_^)
どうもありがとうございます。

こちらの記事を、私のBlogからリンク致しました。

まなさん>
コメントありがとうございました^^

あこさん>
こんにちは。
導入お疲れ様でした。
コメントスパムにさようなら!できるといいですね^^

なるとさん>
こんにちは。
導入お疲れ様でした^^
スパムはほんとにこまりものですよね~

  • 060416
  • すー
  • レス不要

こんにちは^^
わかりやすく解説してくださって、助かりました。
どうもありがとうございました♪

おはようございます(^^*)
いつもお世話になっています♪

sb→Serene Bachにしてから、コメントスパムが来なくなってたのでフィルター導入を後回しにしていました。
でも、ここ最近少しずつ来るようになって、そろそろ導入しなくちゃ~って思ってた矢先!
今日の朝から70件近く来ていますo(TヘTo) クゥ
なので、急遽 ユヅさんの記事を元に設定していたのですが
(たけっぴろ!さんからは以前DL済みでした)
「手順5」で本家の解説を見なくてはならないとあり
飛んだのですが、ページが出ません…。
たけっぴろ!さんのブログさえ出ないのです。
お引越しされたのでしょうか???

その為、「手順5」でストップしたまま先に進めません。
ユヅさんが御存知でしたら教えて頂けませんでしょうか?
宜しくお願い致します。

沙羅さん>
おはようございまーす。
スパムは1度くるとどどどっときますよー。消すのも大変ですよね。

一時的にあちらのサーバーが重かったのでは…と思われます^^
多分もう見れるとは思うんですが、今後こういうことでお困りの方がいるかもしれないので、EUC-JP版の設定も記載するようにしておきました^^

ちなみにKLCやエイミーのサイトやオンラインショップはわたしのお友達が作っているんですよー♪
夏はトロピカルやハワイアンな感じのアイテムが揃うそうなので、またお買い物してあげてくださいなー

有難う御座いました~(^^*)
無事、見る事が出来、設定も完了しました♪
上手く拒否出来ていればいいのですが(^-^;A
お騒がせしてしまい申し訳ありませんでした。ぺこ

KLCの…ユヅさんのお友達って事は
Akraサンとお友達なんですね~(ノ゜ο゜)ノオオオオォォォォォォ-
こんな繋がりがあったなんて♪♪♪
なんだか、スゴイ方達と知り合えて得した気分v (*^m^*) ムフッ
今日も早速、注文しちゃいました(汗)
KLCの発送BOXが積み上げられていきます(笑)

沙羅さん>
お疲れ様でした~^^

Akra氏には毎晩のように遊んでもらっております(*'-')
イラストが上手いんですよネー

はじめまして!!
いつも参考にさせていただいています。
わかりやすい説明で、今回もこの通りに設置できたのですが、
コメントのテストをすると、すべて拒否されてしまいます(涙)
原因を考えてもわからないのです。
アドバイスもらえると嬉しいです!!

tomoさん>
テストってカタカナでやってませんかー?
ひらがなでやってみてください。
あとは記事の最後にかいてあるサポートフォーラムで過去ログにいくつか同じ質問が出ているのでそちらをご覧になられると良いと思います。

こんにちは!いつもテンプレをDLさせていただいたり、記事を参考にさせていただいたりしてます。
ありがとうございます!
1ヶ月前あたりからスパムコメントに悩まされ、削除するのも疲れてしまい「これは元から絶たなければ!」と情報を探していたときにこの記事を見つけて、本当にうれしかったです。
設置してからまだ1日たってませんが、今のところゼロです。
丁寧な説明でわかりやすく、すぐに設置でき感謝感謝です。
ありがとうございました!

こんばんわ。
助けてください(笑)
きちんと設置したはずなんですが、
英字のみのコメントが「承認待ち」になってしまいます。
カタカナのみのコメントは「承認」されてしまいます。
きちんと直接拒否の書き換えもしたんですが・・・。
どこが悪いんでしょうか?

  • 060801
  • ユヅ

ちむさん>
えっと最後にリンクしてあるサポートフォーラムで検索をかけてみるといいと思いますよ。
わたしは作者さんではないので、知識が足りませんしもし間違ったアドバイスをして取り返しのつかないことになってはいけませんので><

  • 080830
  • あいら

こんにちわ。ちょろちょろとすいません…(汗)
なぜかスパムはじきのカスタマイズをしたところ
前(昨日か一昨日?)は成功したのに、本日から
何を入れても「投稿を受け付けることができません。」と言うエラーが出て利用出来なくなってしまいました…。

何かのプラグイン、もしくはカスタマイズと競合してしまったのかもしれないのですが
最近入れたと思われるカスタマイズを戻したり
プラグインを消したりしても、改善せず…。
逆にこスパムはじきを全て削除すると投稿可能になりました。

せっかく一回使えたのに、いきなり使用不可になってしまってショックです…。・゚・(ノД`)・゚・。
現在のVr.だとある程度拒否設定でもスパムはじきできるみたいですが
IP見てJP以外のものをすべてはじいたりしてくれるものではなさそうなので、残念です…。

一回使えるようになってから、このカスタマイズに関しては何もいじっていないのに突然使用できなくなったという事は、
設置ミスと言うよりも、やはり成功した後にしたカスタマイズかプラグインが引っかかっている可能性が大きいですよね…?

しかし、エラーが英語での設置ミスのようなエラーではなくて
日本語で「投稿を受け付けることができません。」と出るのが
引っかかっていてしょうがありません…><;
こういう時ってありますよね~。
もうすぐ完成!と言う時の突然のミスと言うか(笑)
もう少しめげないで頑張ってみますが、もし何か少し情報がありましたらご連絡下さると嬉しいです。
ではでは^^

  • 080830
  • ユヅ

あいらさん>
原因は直接はわかりませんが…

まず、スパムフィルタ有り&デフォルトのテンプレートで試してみて、
上手くいく→テンプレートのカスタマイズに問題有り
ダメだった→スパムフィルタ導入に問題有り
という原因の探し方はどうでしょう。

テンプレート側の問題なら、上手くいったテンプレートをベースにして、1つカスタマイズする度に投稿テストをするようにしていけば、つまづくところも分かるかと思います。
スパムフィルタ側の問題ならば、配布サイトのサポートフォーラムの方で同様の質問がないかとまず過去ログを検索してみて、もし無ければ投稿して質問されればよいかと。
また、sbとスパムフィルタの双方のバージョンも対応しているかどうか確認を。

私は現在はtakkyunさんが配布されているスパム用のプラグイン&非公開コメントをつけられるプラグインを入れています。
最初のチェックをすり抜けたスパムでも、非公開コメントのチェックボックスを自動的にチェックするため非公開になり、外からはスパムが来ているように見えずこっそり管理画面から削除できるという感じです(笑)
たまーにどさっときたりはしますが^^;

  • 080830
  • あいら

はう!お早い回答ありがとうございます。
やっぱり1個ずつやらないと、むずかしいですよね…。
ちょっともう一回色々とやり直してみます(´д`)

tukkyunさんのところでも新しく配布されていたのですね(@w@;
よく確認もせず、これだけにこだわってしまいました~;
もしかしたら別のものでも上手くいくかもしれないので
もう少し頑張ってみます^^

ありがとうございました!

Comment Form

[icon]


Trackback

Trackback URI
このエントリーへのリンクを作成