up_l dmy up_r
dmy home dmy dmy dmy

●WordPressのコメントスパム対策用プラグイン SPAM-BYEBYE●
(2008/11/02)

いろいろコメントスパム対策用のプラグインを試してみたのですが、イマイチ効果が上がらないので自分でプラグインを作成してみました。

(2008/09/20)
※プラグインを有効にするだけで使えるように修正しました。
※DNSDBLのデフォルトをdnsbl.spam-champuru.livedoor.comに変更しました。
(2008/11/02)
※名前欄を検査対象に追加しました。
※ソースの文字コードをUTF8に変更しました。
※投稿URL数の検査方法を変更しました。

■特徴
以下の条件を総合的に判断したポイント制になっております。
1.メッセージに日本語が含まれていない場合
2.メッセージにURLが複数含まれている場合
3.メッセージ(又はURL欄)に含まれるURLがURLブラックリストデータベースに登録されている場合
4.投稿したクライアントのホストがDNSブラックリストデータベースに登録されている場合
5.名前欄にURLが含まれている場合

※DNSBL、URLBLの検査はDNSを参照するので投稿時は多少パフォーマンスが落ちます。

■導入方法
【1】spam-bye2.phpをDLして解凍後、spam-bye2.phpをエディタで開いてください。
【2】49行目〜54行目をカスタマイズします。

---------------------------------------------------------------------------------------------
49:$this->SB_POINT    = 10;
50:$this->SB_ACTION   = 0;
51:$this->SB_ERROR    = '403 Forbidden';
52:$this->SB_REDIRECT = 'http://';
53:$this->SB_DNSBL    = array('dnsbl.spam-champuru.livedoor.com');
54:$this->SB_URLBL    = array('url.rbl.jp','dyndns.rbl.jp','notop.rbl.jp','multi.surbl.org','multi.uribl.com');
---------------------------------------------------------------------------------------------

[49行目] $this->SB_POINT
スパムと判定するポイント数です。

[50行目] $this->SB_ACTION
スパムと判定した場合に実行するアクションを指定します。
0を指定した場合は51行目の$this->SB_ERRORに指定したメッセージを出力します。
1を指定した場合は52行目の$this->SB_REDIRECTに指定したURLへリダイレクトします。

[53行目] $this->SB_DNSBL
投稿したクライアントのホスト名を検査するDNSブラックリストデータベースのホスト名を指定します。(複数指定可能です)

[54行目] $this->SB_URLBL
メッセージ(又はURL欄)に含まれるURLを検査するURLブラックリストデータベースのホスト名を指定します。(複数指定可能です)

【3】60行目〜66行目をカスタマイズします。

---------------------------------------------------------------------------------------------
60:$BAD_POINT += $this->CHARACTOR_CHECK($STR,10,$BAD_POINT);
61:$BAD_POINT += $this->URL_COUNT($AUTHER,1,10,$BAD_POINT);
62:$BAD_POINT += $this->URL_COUNT($STR,1,8,$BAD_POINT);
63:$BAD_POINT += $this->URL_COUNT($URL,1,2,$BAD_POINT);
64:$BAD_POINT += $this->CHECK_URLBL($URL,10,$BAD_POINT);
65:$BAD_POINT += $this->CHECK_URLBL($STR,10,$BAD_POINT);
66:$BAD_POINT += $this->CHECK_DNSBL(8,$BAD_POINT);
---------------------------------------------------------------------------------------------

[60行目] $this->CHARACTOR_CHECK($STR,10,$BAD_POINT);
メッセージに日本語が含まれているかを検査します。
第二引数(上記数字の10)が日本語が含まれてない場合に加算するポイントです。

[61行目] $this->URL_COUNT($AUTHER,1,10,$BAD_POINT);
名前欄にURLが含まれているかを検査します。
第二引数(上記数字の1)が名前欄に含まれるURLの数、第三引数(上記数字の10)が第二引数の数だけURLが含まれていた場合に加算するポイントです。

[62行目] >URL_COUNT($STR,1,8,$BAD_POINT);
メッセージにURLが含まれているかを検査します。
第二引数(上記数字の1)がメッセージに含まれるURLの数、第三引数(上記数字の8)が第二引数の数だけURLが含まれていた場合に加算するポイントです。

[63行目] $this->URL_COUNT($URL,1,2,$BAD_POINT);
URL欄にURLが含まれているかを検査します。
第二引数(上記数字の1)がURL欄に含まれるURLの数、第三引数(上記数字の2)が第二引数の数だけURLが含まれていた場合に加算するポイントです。

[64行目] $this->CHECK_URLBL($URL,10,$BAD_POINT);
URL欄のURLがURLブラックリストデータベースに登録されているかを検査します。
第二引数(上記数字の10)がURLブラックリストデータベースに登録されてた場合に加算するポイントです。

[65行目] $this->CHECK_URLBL($STR,10,$BAD_POINT);
メッセージ中のURLがURLブラックリストデータベースに登録されているかを検査します。
第二引数(上記数字の10)がURLブラックリストデータベースに登録されてた場合に加算するポイントです。

[66行目] $this->CHECK_DNSBL(8,$BAD_POINT);
投稿したクライアントのホスト名がDNSブラックリストデータベースに登録されているかを検査します。
第一引数(上記数字の8)がDNSブラックリストデータベースに登録されてた場合に加算するポイントです。

※60行目〜66行目は上から順に検査し、41行目の$this->SB_POINTに達した時点で以降の検査をスキップします。
※検査の順番を変えたいという方はお好みでカスタマイズして下さい。

【4】wp-content/pluginsにspam-bye2.phpをアップロードします。

【5】WordPressの管理画面->プラグインでspam-bye2を有効化します。

以上で完了です。

▲TOP

Global eye | ホームページ制作業者 | 工作機械製造 | ホームページ制作業者紹介 | インターネット広告
dmy
low_l dmy low_r