フリーなCGIと自宅サーバー情報サイト
(2018/12/28)
※安定版(Version2.2.2)をリリースしました。
(2018/08/06)
※安定版(Version2.2.1)をリリースしました。
※PHP7に対応しました。
(2015/03/06)
※安定版(Version2.2.0)をリリースしました。
※ホワイトリスト機能を追加しました。
(2015/02/24)
※安定版(Version2.1.3)をリリースしました。
※サービス終了に伴いDNSDBLのデフォルト設定からdnsbl.spam-champuru.livedoor.comを削除しました。
(2012/12/02)
※安定版(Version2.1.2)をリリースしました。(文言の修正のみ)
(2012/08/29)
※安定版(Version2.1.1)をリリースしました。
(2012/05/30)
※安定版(Version2.1.0)をリリースしました。
(2012/04/29)
※安定版(Version2.0.4)をリリースしました。
(2011/08/27)
※安定版(Version2.0.3)をリリースしました。
(2011/07/26)
※ベータ版(Version2.0.3)をアップしました。
(2011/07/15)
※ベータ版(Version2.0.1)をアップしました。
(2011/07/12)
※ベータ版(Version2.0.0)をアップしました。
(2011/01/18)
※管理者がログインしている場合は検査対象から除外されるように変更しました。
(2008/09/20)
※プラグインを有効にするだけで使えるように修正しました。
※DNSDBLのデフォルトをdnsbl.spam-champuru.livedoor.comに変更しました。
(2008/11/02)
※名前欄を検査対象に追加しました。
※ソースの文字コードをUTF8に変更しました。
※投稿URL数の検査方法を変更しました。
■2.1.0から2.1.1以降へアップデートする際のご注意(設定を変更されている場合)
1.プラグイン編集からconfig.phpを選択し、全ての内容をコピーしてローカルに保存しておきます
2.プラグインをアップデートします
3.ローカルに保存した内容を全てコピーして、プラグイン編集にてconfig.default.phpにペーストしファイルを更新します
4.SPAM-BYEBYE設定画面を開き保存をクリックします
*上記作業により次回以降はアップデートしても変更内容が保持されるようになります
■特徴
日本語に特化して他言語圏spamを高確率で排除します
1.ひらがなが含まれていない
2.日本語(2バイト以上の文字)が含まれていない
3.1行の文字数がN文字を超えている
4.連続した改行の合計がN個を超えている
5.URLが含まれている
6.NGワードが含まれている
7.URLがURIBLデータベースに登録されている
8.投稿者のIPがDNSBLデータベースに登録されている
*チェック項目を順位付けられ早期に判別した場合残りの検査をしない為、処理が早く終わります
*1、2は日本語投稿で必ず出現する文字
*3はspamはあまり改行せずに投稿することがあるため
*4は他者の投稿を読ませない等の妨害で改行を多用するため
*5はURLの誘導
*6は禁止語句
*7、8は公平外部登録ブラックリスト照会
*6、7、8は処理に時間が掛かる為、検査の順位は下位を推奨
*6、7、8は検査項目が多いとタイムアウトする可能性があるため簡易検査程度に留めてください
■導入方法
(Version2.1.0以降)
wordpress.org > プラグインディレクトリのinstallationを参照してください
(Version2.0.0~2.0.4)
1.spam-bye2.2.0.4.zipをDLして解凍後、config.phpをエディタで開いてください。
2.基本設定
// スパムと判定する閾値
define(‘SB2_SPAM_LEVEL’, 100);
// スパムと判定された場合のアクション
// 0:SB2_SPAM_MESSAGEに指定したメッセージを表示
// 1:SB2_SPAM_REDIRECTに指定したURLにリダイレクト
define(‘SB2_SPAM_ACTION’, 0);
// スパムと判定された場合に表示するメッセージ
// SB2_SPAM_ACTIONが0の場合のみ有効
define(‘SB2_SPAM_MESSAGE’, ‘403 Forbidden’);
// スパムと判定された場合のリダイレクトURL
// SB2_SPAM_ACTIONが1の場合のみ有効
define(‘SB2_SPAM_REDIRECT’, ‘http://’);
// DNSBLデータベース
// 複数指定する場合は「,」で区切る
define(‘SB2_DNSBL_HOSTS’, ‘dnsbl.spam-champuru.livedoor.com,b.barracudacentral.org’);
// URIBLデータベース
// 複数指定する場合は「,」で区切る
define(‘SB2_URIBL_HOSTS’, ‘url.rbl.jp,dyndns.rbl.jp,notop.rbl.jp,multi.surbl.org,multi.uribl.com’);
3.チェック項目設定
[チェック内容]
sb2CharactorKana | ひらがなが含まれているか? |
sb2Charactor | 日本語(2バイト以上の文字)が含まれているか? |
sb2Length | 1行の文字数がN文字を超えていないか? |
sb2FeedCount | 連続した改行の合計がN個を超えていないか? |
sb2UrlCount | URLが含まれているか? |
sb2NgWord | NGワードが含まれているか? |
sb2Uribl | URLがURIBLデータベースに登録されているか? |
sb2Dnsbl | 投稿者のIPがDNSBLデータベースに登録されているか? |
[チェック対象]
author | 名前欄の入力値 |
url | url欄の入力値 |
content | コメント欄の入力値 |
[チェックの順番]
SB2_OBJECT_番号の小さい順にチェックします
[フォーマット]
sb2CharactorKana | define(‘SB2_OBJECT_番号’, ‘sb2CharactorKana,チェック対象,加算するポイント’); |
sb2Charactor | define(‘SB2_OBJECT_番号’, ‘sb2Charactor,チェック対象,加算するポイント’); |
sb2Length | define(‘SB2_OBJECT_番号’, ‘sb2Length,チェック対象,加算するポイント,加算ポイントの最大値,許容文字数’); |
sb2FeedCount | define(‘SB2_OBJECT_番号’, ‘sb2FeedCount,チェック対象,加算するポイント,チェック改行数,許容改行数’); |
sb2UrlCount | define(‘SB2_OBJECT_番号’, ‘sb2UrlCount,チェック対象,加算するポイント,加算ポイントの最大値,許容URL数’); |
sb2NgWord | define(‘SB2_OBJECT_番号’, ‘sb2NgWord,チェック対象,加算するポイント,加算ポイントの最大値’); |
sb2Uribl | define(‘SB2_OBJECT_番号’, ‘sb2Uribl,チェック対象,加算するポイント,加算ポイントの最大値’); |
sb2Dnsbl | define(‘SB2_OBJECT_番号’, ‘sb2Dnsbl,加算するポイント,加算ポイントの最大値’); |
sb2NgWord用 NGワード |
define(‘SB2_NGWORD_番号’, ‘NGワード1,NGワード2,NGワード3’); |
*SB2_OBJECT_番号は必ず連番にして下さい
*SB2_NGWORD_番号とSB2_OBJECT_番号は必ず同じ番号にして下さい
[sb2Lengthについて]
sb2Lengthはチェック対象の1行あたりの文字数が許容文字数を超過した場合にポイントが加算されます。許容文字数を超過する行が複数あった場合は該当する行数分ポイントが加算されます但し加算ポイントの最大値が0以外の場合はその値が最大値になります。
例)
[sb2FeedCountについて]
sb2FeedCountはチェック対象の連続した改行(チェック改行数以上の箇所)の合計が許容改行数を超過した場合にポイントが加算されます。
例)
[sb2UrlCountについて]
sb2UrlCountはチェック対象に含まれるURL数に応じてポイントが加算されます。但し加算ポイントの最大値が0以外の場合はその値が最大値になります。チェックした結果のURL数が許容URL数以下だった場合はポイントは加算されません。
例)
[sb2NgWordについて]
sb2NgWordはチェック対象にSB2_NGWORD_番号のNGワードにマッチした数に応じてポイントが加算されます。但し加算ポイントの最大値が0以外の場合はその値が最大値になります。
例)
[sb2Uriblについて]
sb2Uriblに複数のデータベースが指定してある場合、全てのデータベースを参照し登録されていた数だけポイントが加算されます。但し加算ポイントの最大値が0以外の場合はその値が最大値になります。
例)
[sb2Dnsblについて]
sb2Dnsblに複数のデータベースが指定してある場合、全てのデータベースを参照し登録されていた数だけポイントが加算されます。但し加算ポイントの最大値が0以外の場合はその値が最大値になります。
例)
[サンプル]
4.wp-content/pluginsにspam-bye2ディレクトリをアップロードします
5.WordPressの管理画面->プラグインでspam-bye2を有効化しますstrong
ありがたく
使わせてもらっています。
ひとつ気になったのでコメントさせていただきます。
設定画面で
・「日本語が含まれているか?」
は適切ではないように思います。
ユーザーは「含まれている」場合は加算されると
受け取る可能性があるからです。
私自身そうでしたので。。。
疑問形ではなく
「日本語が含まれていない。」
とすればいいように思います。
他の項目も
「NGが含まれている」
などした方が分かりやすいように思うのですが。
ご参考までに。
確かにそうですね。
直しておきます。
開放性の高いサイトを運営してます。
これ、ポスト(記事)の投稿時にも流用できますでしょうか?
固定ページは、必要ないとは思うのですが、
判定ポイントが超えたら、下書き、もしくは非公開になってくれると嬉しいのです
>jajaさん
やったことはないですが、恐らくできるかと。
今ちょっと時間がないので、すぐの対応は難しいです。
スパム対策に困ってプラグインを探していたらこちらのサイトにたどり着きました。
さっそく安定版(Version2.1.2)を使わせて頂いたのですが、
設定について1点ご質問させてください。
設定を変更し「保存」を押すと・・・
Can’t open http://www.ブログURL/wp-content/plugins/spam-byebye/_config.php
となってしまいます。
とりああえずconfig.default.phpを直接編集して変更しているのですが、なにか改善方法はございますでしょうか?
よろしくお願いします。
>もとさん
wp-contentディレクトリとspam-byebyeディレクトリにWWW(phpが実行されるユーザ)への書き込み権限が必要になります。
_config.phpは一時ファイルで、これを作成してからwp-contentディレクトリに設定ファイルとしてリネームする仕様になっています。