jp6まではコメント中にURLを記入するとデフォルトでspam判定されてしまう問題がありました。
この問題を修正したjp7をリリースします。そのほかにも細かなバグ修正を行っています。
ダウンロードはこちら [NP_Blacklist v0.98 jp7][155clicks]
※バグFix版のNP_Blacklist v0.98 jp8をご利用ください。
※利用方法についてはNucleusCMS Japanのplugins:np_blacklist [Nucleus CMS Japan Wiki]*1にまとめてあります。
動作確認はNucleus 3.23(UTF-8)、PHP 4.4.4環境で行っています。
動作確認報告、バグ報告はこのエントリへ、コメント・トラックバックをお願いします。
[Changed] デフォルトの状態において、リンク付のコメントをブロックしてしまう不具合を修正
配布パッケージでは簡易的なspam対策としてデフォルトでhref=というパターンを登録してありますが、この状態だとコメント中にURL(http:~で始まる文字)を記入しようとするとコメントがspamと判定される問題について修正を行いました。詳細はこちら(URLを入れるとコメントができない場合には)で解説しています。
[Changed] obsoleteなイベントを削除
使用されていないイベント定義をプログラムから削除しました。
[Added] membermailのないようについてもチェックを行うようにした
membermailのフォーム内容についてもspamチェックを行うようにしました。
愛用させて頂いてます。
バージョンアップでこちらが何か設定ミスをしてるかもしれないんですが、どうもjp7になってから、Show blocked ip addressesのところに登録したIPアドレスのブロックがされなくなってるような気がするんですが。
自分のIPアドレスをAdd IP to block: に入れたりして実験してみたのですが、jp6までだとログにIP Blocked:219.***っていうふうに上手く防止してるようです。
NP_Blacklist愛用してます。
こうなったら便利と感じた点があったので報告します。
「href=」でハジくそもそもの狙いを考えると、href=が含まれる個数を閾値としてブラックリスト判定するとより理想的なフィルタリングができるような気がします。この種の迷惑コメントの場合、リンクを複数(場合によっては数えきれないほど)含むことが多いです。
それと、問答無用で弾いてしまうのではなく、いったん承認待ちリストに入れて保留できると安心かも。目視で確認して誤判定と分かれば、ちゃんとしたコメント・TBとして管理者権限で追加できるというフローです。
Blacklist Editorでのキーワード登録は現在のように1個ずつ登録する形ではなく、ベタにtextareaで複数行を貼り付けて一括で登録してしまえるようにすれば、他のユーザとの辞書の共有・メンテナンスがしやすくて都合がいいような気がします。
とはいえ、僕のサイトの規模であれば現時点でも十分過ぎるくらい正確なフィルタリングができています。
こうなったら便利と感じた点があったので報告します。
ありがとうございます。
href=が含まれる個数を閾値としてブラックリスト判定するとより理想的なフィルタリングができるような気がします。
単純なキーワードの有無を超えて、出現頻度を考慮したフィルタリングを考えるのであれば小細工なしにベイジアンを使うしかないのかなと思っています。
http://blog.cles.jp/item/1613
問答無用で弾いてしまうのではなく、いったん承認待ちリストに入れて保留できると安心かも。
この機能についての必要性は感じるのですが、NP_Blacklistの機能としてのカバー範囲を超えているような気がするのでいまのところ実装の予定はありません。
ウチではNP_BlacklistとNP_CommentControlの双方を改造することで、コメントの「spam判定」→「保留」を実現しています。
# yamaさんのコメントも"href="が入っていたので、いったん保留に入っていました。
ただ、改造の手順がかなり煩雑なので、その手順の公開には踏み切れそうにありません。このあたりはちょっともどかしいところなんですがこのあたりいいアイディアが浮かばないという感じです。。。。。
textareaで複数行を貼り付けて一括で登録
こういう発想は僕にありませんでした。。。。
これは前向きに考えたいと思います。
どうもjp7になってから、Show blocked ip addressesのところに登録したIPアドレスのブロックがされなくなってるような気がするんですが。
報告ありがとうございます。おっしゃるとおりIPアドレスブロックにバグがあるようです。修正版をリリースしたいと思いますので、しばらくお待ちいただければと思います。
hrefの個数を閾値とする考え方はWordPressの有名なプラグインで知ったのですが、なかなか効果高いらしいですよ。トレーニングが必要なベイジアンまではちょっと、という人にはちょうどいい割り切りどころになるような気がします。
ベイジアンも個人的には興味あります。と言いつつ仕事で採用してるのですが、Outlook用のSpamBayesが日本語トークン処理してないわりに正確な判別ができているように思います。日本語処理してるはずのPOPFileといい勝負してます。ベイズ方式といっても、いろいろあるのかもしれませんね。
hrefの個数を閾値とする考え方はWordPressの有名なプラグインで知ったのですが、なかなか効果高いらしいですよ。
そうなんですか。NP_BlacklistのNGワードは正規表現なので単語の出現個数を閾値にするのは比較的簡単です。ただ、正規表現は万人向けではないのが難点ですが。
たとえば3つ以上href=が入ったものをNGとするには以下のようなキーワードを登録するとよいと思います。
(href=([\w\W\n\r]*?)){3,}
# ということで、ウチのパターンはこっちに切り替えました。
Outlook用のSpamBayesが日本語トークン処理してないわりに正確な判別ができているように思います。
kimitakeさんにもツッコミ入れられちゃいましたけど、今のところspamってほとんどが英文だからそれでも十分なのかも知れないですね。
最近、Nucleusを使い始めたばかりの者です。
1点、教えていただきたいことがあり、下記させていただきます。
NP_blacklistをインストールして、このプラグインを有効にセットしたところ、コメントをいれることが出来なくなってしまいました。
状況をもう少し詳しく書くと、blacklistに乗っているワードをコメントしたところ、問題なく処理されるのですが、通常のコメントをいれたところ、ボタンを押下した瞬間に画面が真っ白になってしまいました。
どなたかご教授いただければ助かります。
以上、よろしくお願いいたします。
いくつかバグ修正を行ったjp8をリリースしたので、一度そちらを試してもらってもいいでしょうか?
http://blog.cles.jp/item/1625
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。