plugins:np_blacklist

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

plugins:np_blacklist [2011/03/23 21:28] (現在)
ライン 1: ライン 1:
 +====== NP_Blacklist.php (JP) ======
  
 +NGワードとDNSBLを利用してコメント・トラックバックspamを防ぐプラグイン。
 +
 +^General Plugin info ^^
 +^作者: | xiffy, [[plugins:​authors:​hsur|hsur]] |
 +^最新のバージョン:​ |1.3.1 (2008/​06/​08) |
 +^入手先: |[[http://​blog.cles.jp/​np_cles/​category/​31/​subcatid/​11|ダウンロード]] |
 +^ソース: |[[http://​svn.sourceforge.jp/​view/​plugin/​trunk/​NP_Blacklist/?​root=nucleus-jp|Nucleus Japan SVN]] |
 +^動作サンプル:​ | |
 +^オリジナル参照先:​ |[[http://​wakka.xiffy.nl/​blacklist|blacklist]] |
 +^フォーラム参照先:​ |[[http://​japan.nucleuscms.org/​bb/​viewtopic.php?​t=1622|NP_Blacklist]] |
 +^作者サイト参照先:​ |[[http://​blog.cles.jp/​np_cles/​category/​31/​subcatid/​11|NP_Blacklist - NP_cles()]]|
 +
 +=====DNSBLについて=====
 +
 +NP_BlacklistのキモはDNSBLというDNSの仕組みを利用したブラックリストを採用しているところにあります。\\
 +(もちろん、独自のNGワードを設定することもできます。)
 +
 +一部で**「DNSBLを利用しているため、メンテナンス不要で勝手に賢くなるブラックリストである」**かのような解説がなされていますが、NP_Blacklistと同じく、DNSBLについても有志による活動によってメンテナンスが行われています。**決して勝手に賢くなるブラックリストなのではありません。**spamとの戦いはいたちごっこです。spamおよび、DNSBLの誤認を発見した際にはDNSBLへの報告について協力をしてください。
 +
 +なお、NP_Blacklistが標準で利用しているDNSBLは以下のとおりです。
 +
 +  * IP RBL
 +    * niku.2ch.net
 +    * list.dsbl.org
 +    * bsb.spamlookup.net
 +  * Domain RBL
 +    * <​del>​rbl.bulkfeeds.jp</​del>​(v1.3より廃止)
 +    * url.rbl.jp
 +    * bsb.spamlookup.net
 +
 +
 +=====インストール方法=====
 +  - Zipファイルを展開して、中身をNucleusのpluginsディレクトリにアップロードする
 +  - ''​(プラグインフォルダ)/​blacklist/​settings''​および、''​(プラグインフォルダ)/​blacklist/​cache''​ディレクトリのパーミッションをphpから読み書き可能に変更する。(アップデートの場合など、ディレクトリ内に既にファイルが存在する場合にはそれらのファイルも読み書き可能にしておく必要があります。)\\ (例: ディレクトリ777,​ ファイル666)
 +  - 管理画面からBlacklist,​AddSpamCheckEventの2つのプラグインをインストールする
 +
 +=====このプラグインの使い方=====
 +インストール後、管理画面から設定を行います。
 +
 +=====スキン/​テンプレートへの記述=====
 +スキン、テンプレートへの記述はありません。\\ ​
 +**インストールすると設定にしたがってspamをブロックするようになります。**
 +
 +=====オプション=====
 +  - **プラグインを有効にする** -- プラグイン全体の機能を有効にするか?
 +  - **ブラックリストに該当した場合のリダイレクト先** -- spam判定をした場合に表示するURL\\ ​ (空欄の場合には''​403 Forbidden''​を表示します)
 +  - **IPによる防御を有効にするか?** -- IPアドレスによるspam判定を有効にするか
 +  - **同一IPから何度spamを受信したらIPブラックリストに追加するか?** -- spamと判定される行為を何回以上行った場合、送信者のIPをブラックリストに追加するか?
 +  - <​del>​**Bulkfeeds API Key** -- BulkfeedsのAPI key(spam報告を行う際に必要)</​del>​(v1.3より廃止)
 +  - **DNS逆引きをスキップするか?** -- IPアドレスをドメイン名として表示する機能を無効にするかどうか?\\ (負荷が大きいためOnを推奨)
 +
 +=====管理画面=====
 +NP_Blacklistには設定を行うための独自の管理画面があります。
 +  - **NGワード編集** -- 自分独自のNGワードを設定します
 +  - **NGワードのテスト** -- 設定したNGワードの動作確認を行います
 +  - **IPホワイトリスト編集** -- 特別に許可しているipアドレスを表示します
 +  - **IPブラックリスト編集** -- ブロックしているipアドレスを表示します
 +  - **ブラックリスト動作ログ** -- NP_Blacklistがブロックした履歴を表示します
 +  - **プラグインオプション** -- NP_Blacklistのプラグインオプションを設定します
 +  - **.htaccessファイルの生成** -- 現在の設定を.htaccessで利用可能な形式で出力します
 +  - <​del>​**Bulkfeedsへのspam報告** -- Bulkfeedsにspam送信元のURLを報告します</​del>​(v1.3より廃止)
 +  - **動作確認報告** -- 作者に動作確認報告を送ります
 +
 +====NGワード編集====
 +
 +画面上部にあるフォームからNGワードを登録することができます。
 +  - **NGワード** -- NGワードを登録します
 +  - **コメント** -- NGワードについてのメモを入力することができます
 +  - **正規表現を有効にするか?** -- ONになっていない場合に、正規表現の特殊文字を自動的にエスケープします。
 +
 +====NGワードのテスト====
 +
 +NGワードの現在の設定について実際のテキストを入力してテストできます。
 +
 +====IPホワイトリスト編集====
 +
 +許可対象になっているipリストを表示、編集できます。
 +このIPアドレスについてはNP_Blacklistによって絶対にspam扱いされないようになります。
 +
 +ipアドレスについては前方一致もしくはCIDR形式(###​.###​.###​.###/##​)が使用できます\\ ​
 +例:''​192.168.0.''​と設定することにより''​192.168.0.0~192.168.0.255''​の範囲でブロックが可能です。
 +
 +====IPブラックリスト編集====
 +
 +ブロック対象になっているipリストを表示、編集できます。
 +
 +ipアドレスについては前方一致もしくはCIDR形式(###​.###​.###​.###/##​)が使用できます\\ ​
 +例:''​192.168.0.''​と設定することにより''​192.168.0.0~192.168.0.255''​の範囲でブロックが可能です。
 +
 +====.htaccessファイルの生成====
 +
 +現在の設定内容をApacheの.htaccessで利用可能な形に変換します。
 +
 +====Bulkfeedsへのspam報告(v1.3より廃止)====
 +
 +<​del>​Bulkfeedsにspam送信元のURLを報告します。\\ ​
 +送信されたURLはbulkfeedsのブラックリストを利用するサイトすべてで共有されるので、bulkfeedsを使うすべてのサイトから同様のspamを排除することが可能になります。**念のため書きますが、spam発信元でないURLをsubmitすることは慎んでください。**
 +
 +spam報告機能を使うには前準備としてBulkfeeds API Keyを取得しておく必要があります。こちらの[[http://​bulkfeeds.net/​app/​register_api.html|Bulkfeeds API Key登録フォーム]]に自分のメールアドレスを入力すると、指定したメール宛てにBulkfeeds API Keyが届きます。それをプラグインオプションのBulkfeeds API Keyにセットしておいてください。
 +
 +1行に1URLという形で入力し「submit」ボタンを押します。</​del>​
 +
 +※Bulkfeedsが消滅したため、v1.3より廃止しました
 +
 +====動作確認報告====
 +作者向けに動作環境等を送信することができます。\\ ​
 +プラグインの継続的改善のための情報収集にご協力ください。
 +
 +=====Tipsと裏技=====
 +
 +
 +
 +====参照するDNSBLの変更====
 +
 +NP_Blacklistが参照するDNSBLについては変更が可能です。効果的なDNSBLがあればぜひ[[http://​japan.nucleuscms.org/​bb/​viewtopic.php?​t=1622|フォーラムでご一報ください]]。
 +
 +blacklist/​blacklist_lib.php(450行目付近)
 +<​code>​$iprbl = array('​niku.2ch.net',​ '​list.dsbl.org',​ '​bsb.spamlookup.net'​);</​code>​
 +
 +blacklist/​blacklist_lib.php(465行目付近)
 +<​code>​$domainrbl = array('​rbl.bulkfeeds.jp',​ '​url.rbl.jp',​ '​bsb.spamlookup.net'​);</​code>​
 +
 +====「href=...」が3回以上含まれるコメントをはじく====
 +  (href=([\w\W\n\r]*?​)){3,​}
 +
 +====「http...」が3回以上含まれるコメントをはじく====
 +  (http([\w\W\n\r]*?​)){3,​}
 +
 +====全角文字を含まないコメントをはじく====
 +  ^[[:​print:​][:​cntrl:​]]+$
 +※効き過ぎかも。要検証。不具合を確認した人は報告求む。\\  ​
 +※jp9では^や$が各行の行頭、行末にマッチするため、正常に動作しません。\\ ​
 + 設定した場合、すべてのコメントがブロックされます。(by hsur)
 +
 +
 +====他のプラグインとの併用====
 +
 +spamは日々進化しており、単純なルールベースのブラックリストだけに頼っているとフィルタを突破される可能性があります。必要に応じて下記のプラグインとの併用を検討してください。
 +
 +  * 併用可能なspam対策プラグイン
 +    * 学習系
 +      * [[plugins:​spambayesjp|NP_SpamBayesJP]]
 +    * ウェブサービス系
 +      * [[http://​forum.nucleuscms.org/​viewtopic.php?​p=49061#​49061|NP_Akismet]] ※[[http://​blog.cles.jp/​item/​1795|導入手順]]
 +    * ルールベース系
 +      * [[plugins:​antis|NP_AntiS]]
 +      * [[http://​suisui.dip.jp/​mt/​suisui/​2004/​12/​np_rejectcomment.html|NP_RejectAsciiOnlyComment]] ​
 +    * 画像認証系
 +      * [[plugins:​recaptchajp|NP_ReCaptchaJP]]
 +      * [[http://​wakka.xiffy.nl/​Captcha|NP_Captcha]]
 +      * [[plugins:​captchasl|NP_CaptchaSL]]
 +    * 投稿フォーム改良系
 +      * [[plugins:​norobotcomment|NP_NoRobotComment]]
 +      * [[plugins:​protectbymd5|NP_ProtectByMD5]]
 +
 +=====希望事項=====
 +  * <​del>​指定したドメイン/​IPを絶対にspam扱いしないようにする機能(white list)</​del>​ v1.1で対応済み
 +  * <​del>​メッセージの日本語化(EUC/​UTF-8対応)</​del>​ v1.0で対応済み
 +
 +=====バグ=====
 +
 +
 +=====開発履歴=====
 +  * version1.3 [2008-05-04] by hsur [[http://​blog.cles.jp/​item/​2548|Read here]]
 +    * [Added] ログ消去時などに確認ダイアログが出るようにした
 +    * [Added] 動作確認フォームを追加
 +    * [Fixed] bulkfeedsが消滅したので関連機能を全て削除した
 +    * [Fixed] 127.で終わるIPを誤判定をする問題に対応 (v1.3.1, 2008/06/09)
 +
 +  * version1.2 [2007-05-04] by hsur [[http://​blog.cles.jp/​item/​1994|Read here]]
 +    * [Added] コメント時のemailフィールドもチェック対象にした
 +
 +  * version1.1 [2007-03-18] by hsur [[http://​blog.cles.jp/​item/​1906|Read here]]
 +    * [Added] IPホワイトリスト機能を追加
 +    * [Fixed] DNSBLの参照が正常に行われていなかった問題を修正
 +    * [Fixed] IPアドレスの判定が不適切であった問題を修正
 +    * [Changed] 正規表現判定の/​m修飾子を削除
 +    * [Changed] ソースコードから不要部分を削除
 +
 +  * version1.0 [2007-02-03] by hsur [[http://​blog.cles.jp/​item/​1836|Read here]]
 +    * [Added] .htaccess生成時にorder allow,​denyとallow from allを追加
 +    * [Added] spam判定時、$spamcheckにメッセージを残すようにした。
 +    * [Added] インタフェイスの日本語化
 +    * [Changed] Referrerによるブロック機能の廃止
 +    * [Changed] ファイルのクリーンナップ
 +    * [Added] ログの自動ローテート機能を追加(最大7日分)
 +    * [Changed] PreAddCommentとValidateFormへの対応を廃止
 +
 +  * version0.98 jp9 [2006-11-26] by hsur [[http://​blog.cles.jp/​item/​1730|Read here]]
 +    * [Changed] 正規表現に/​m修飾子を追加
 +    * [Added] Ticket処理を追加(CSRF対策)
 +    * [Added] localhostからのアクセスをspam判定しないようにした
 +    * [Added] ユーザーがログインしている場合にspam判定しないようにした
 +    * [Changed] PreSkinParseイベントを廃止
 +
 +  * version0.98 jp8 [2006-09-30] by hsur [[http://​blog.cles.jp/​item/​1625|Read here]]
 +    * [Changed] IPブロックが正常に動作していなかった不具合を修正
 +    * [Changed] ブロックの際に画面が真っ白になってしまう不具合を修正
 +    * [Changed] 英語のtypoを修正
 +    * [Added] 設定ファイルの上書きを防ぐため配布アーカイブに含まれる設定ファイルの名前を変更
 +    * [Added] インストール時に設定ファイルを自動生成を追加
 +    * [Added] DNSBLの応答をキャッシュするようにした
 +    * [Added] 正規表現利用の可否を選択可能にした
 +    * [Added] magic_quotes_gpc onの環境に対応した
 +
 +  * version0.98 jp7 [2006-09-16] by hsur [[http://​blog.cles.jp/​item/​1605|Read here]]
 +    * [Changed] デフォルトの状態において、リンク付のコメントをブロックしてしまう不具合を修正
 +    * [Changed] obsoleteなイベントを削除
 +    * [Added] membermailのないようについてもチェックを行うようにした
 +
 +  * version0.98 jp6 [2006-05-28] by hsur [[http://​blog.cles.jp/​item/​1425|Read here]]
 +    * [Changed] personal blacklistで大文字小文字を区別しないようにした
 +    * [Changed] 参照するDNSBLを変更
 +    * [Changed] Personal blacklistのデフォルトを変更
 +
 +  * version0.98 jp5 [2006-04-29] by hsur [[http://​blog.cles.jp/​item/​1386|Read here]]
 +    * [Added] SpamCheckAPI 2に対応
 +    * [Changed] プラグインオプションTo which URL should spammers be redireted?​の挙動の変更
 +    * [Changed] プラグインオプションEnable ip based blocking?​の挙動の変更
 +
 +  * version0.98 jp4 [2006-03-08] by hsur [[http://​blog.cles.jp/​item/​1319|Read here]]
 +    * [Added] ログ表示の際のDNS逆引きを行うかどうかを設定可能に
 +    * [Changed] プラグインオプション周りを整理
 +    * [Changed] ソースにまぎれていたおかしな文字を削除
 +
 +  * version0.98 jp3 [2005-12-10] by hsur [[http://​blog.cles.jp/​item/​1196|Read here]]
 +    * [Added] bulkfeeds.netにspamが報告できるようにした
 + 
 +  * version0.98 jp2 [2005-11-12] by hsur [[http://​blog.cles.jp/​item/​1157|Read here]]
 +    * [Changed] DNSBLのLookupが行えていないバグを修正
 + 
 +  * version0.98 jp1 [2005-10-14] by hsur [[http://​blog.cles.jp/​item/​1425|Read here]]
 +    * [Changed] Blacklistの自動アップデートの無効化
 +    * [Changed] LookupするDNSBLを追加
 +    * [Added] 現時点で最新のBlacklistを同梱
 +
 +  * 独自日本語版誕生の経緯
 +    * jayallen.orgのblacklistマスターファイルの供給を停止による[[http://​japan.nucleuscms.org/​bb/​viewtopic.php?​t=1472|NP_Blacklist利用サイトの一斉障害に関するフォーラムでのディスカッション]]より、NP_BlacklistをDNSBLを主体とした形式に改造することを提案し、独自日本語版のリリースを開始しました。
 
plugins/np_blacklist.txt · 最終更新: 2011/03/23 21:28 (外部編集)