![]() |
![]() |
||
●WordPressのコメントスパム対策用プラグイン SPAM-BYEBYE● いろいろコメントスパム対策用のプラグインを試してみたのですが、イマイチ効果が上がらないので自分でプラグインを作成してみました。
■特徴
※DNSBL、URLBLの検査はDNSを参照するので投稿時は多少パフォーマンスが落ちます。
■導入方法
---------------------------------------------------------------------------------------------
41:$this->SB_POINT = 10;
42:$this->SB_ACTION = 0;
43:$this->SB_ERROR = '403 Forbidden';
44:$this->SB_REDIRECT = 'http://';
45:$this->SB_DNSBL = array('all.rbl.jp','bl.spamcop.net');
46:$this->SB_URLBL = array('url.rbl.jp','dyndns.rbl.jp','notop.rbl.jp','multi.surbl.org','multi.uribl.com');
---------------------------------------------------------------------------------------------
[41行目] $this->SB_POINT
[42行目] $this->SB_ACTION
[45行目] $this->SB_DNSBL
[46行目] $this->SB_URLBL
【3】52行目〜57行目をカスタマイズします。 --------------------------------------------------------------------------------------------- 52:$BAD_POINT += $this->CHARACTOR_CHECK($STR,8,$BAD_POINT); 53:$BAD_POINT += $this->URL_COUNT($STR,$BAD_POINT); 54://$BAD_POINT += $this->URL_COUNT($URL,$BAD_POINT); 55:$BAD_POINT += $this->CHECK_URLBL($URL,10,$BAD_POINT); 56:$BAD_POINT += $this->CHECK_URLBL($STR,10,$BAD_POINT); 57:$BAD_POINT += $this->CHECK_DNSBL(8,$BAD_POINT); ---------------------------------------------------------------------------------------------
[52行目] $this->CHARACTOR_CHECK($STR,8,$BAD_POINT);
[53行目] $this->URL_COUNT($STR,$BAD_POINT);
[54行目] $this->URL_COUNT($URL,$BAD_POINT);
[55行目] $this->CHECK_URLBL($URL,10,$BAD_POINT);
[56行目] $this->CHECK_URLBL($STR,10,$BAD_POINT);
[57行目] $this->CHECK_DNSBL(8,$BAD_POINT);
※52行目〜57行目は上から順に検査し、41行目の$this->SB_POINTに達した時点で以降の検査をスキップします。
【4】ダウンロードしたspam-bye2.phpはEUCコードで書いてありますので、UTF8環境の方は文字コードを変更して下さい。 【5】wp-content/pluginsにspam-bye2.phpをアップロードします。 【6】WordPressの管理画面->プラグインでspam-bye2を有効化します。 【7】wp-comments-post.phpの26行目あたりに以下の1行を挿入します。 ※WordPressのバージョンによっては多少違うかもしれません。(以下はver2.1.3で確認)
---------------------------------------------------------------------------------------------
$comment_author = trim($_POST['author']);
$comment_author_email = trim($_POST['email']);
$comment_author_url = trim($_POST['url']);
$comment_content = trim($_POST['comment']);
/*↓これを挿入↓*/
if (isset($SB2)) { $SB2->SPAM_BYE2_COMMENT($comment_author_url,$comment_content); }
---------------------------------------------------------------------------------------------
以上で完了です。
■おまけ
---------------------------------------------------------------------------------------------
require("./spam-bye2.php");
if (isset($SB2)) { $SB2->SPAM_BYE2_COMMENT($URL,$COMMENT); }
---------------------------------------------------------------------------------------------
|
|||
![]() |
![]() |