2014Apr14
コメントスパム対策モジュール ver3.30
5年ぶりに BlognPlus 用「コメントスパム対策モジュール」をバージョンアップしました。
Ver3.27 → Ver3.30 の変更点
- PHP5.4.x 以降に対応
- 新しいスパム判定処理追加
PHP5.4.x で使えなくなった関数 session_register() のせいで不具合が起きていたため、それを修正しました。
サーバーの PHP のバージョンが 5.4.x 以降の場合、モジュールをアップデートすることでエラーが出なくなります。
それから最近のコメントスパムを分析して、その傾向から新たに追加したスパム判定処理を2種類追加しました。
うちのブログではだいぶ前からこの処理を実装してテストを重ねていたのですが、特に問題なく機能しているので ver3.30 に入れました。
インストール・アップデート方法
ダウンロードした圧縮ファイルを解凍して、「asm4cmt」フォルダごと BlognPlus 下の「module」ディレクトリにアップロードして下さい。あとはインストール方法の手順に従ってください。
Ver3.xx からアップデートする場合は、「*.cgi」以外のファイルを上書きアップロードしてください。設定項目が増えているので、一度設定画面に入り、モジュールの設定を適宜変更してください。
それ以前のバージョンからアップデートする場合は、解説ページを参照してください。
このモジュールを使ってくださる方へお願い:
ブログで記事として扱ってくださっても構いませんが、どういう仕組みで動いているか詳しい仕様については伏せてください。スパマーに対策されるおそれがありますので。
ダウンロード
「コメントスパム対策モジュールの解説ページ」からダウンロードしてください。
関連記事
| 10:40 PM | comments (25) | Tweet
| BlognPlus 用モジュール::モジュール(スパム対策) |
コメント
動作確認できました。
ありがとうございますm(__)m
これで憎きコメントスパマーを跳ね返せます(=o=)b
| 五代目 | URL | 2014/04/15 08:37 PM | RkWOqosk |
どういたしまして。
また何かありましたら、お気軽にどうぞ。
| CJ | URL | 2014/04/15 10:54 PM | 6RvPH00s |
バージョンアップありがとうございます。
blognを気に入っているのでCJさんの存在は本当に心強いです。
| 侑子 | URL | 2014/05/06 03:55 PM | keR0K5e2 |
そう言ってもらえると、とても嬉しいです。
ユーザーがいる限り、自作モジュールのサポートは続けていきたいと思っています。
| CJ | URL | 2014/05/07 10:26 PM | 6RvPH00s |
便利に使わせていただいてます。ありがとうございます。
モードAに設定してますが、投稿記事が、すべて保留中にカウントされるようです。
| mabo | URL | 2014/12/11 08:03 AM | eN3GU2/o |
ご質問の件ですが、これは「保留コメントカウンター機能」についてでしょうか?
解説ページに明記してあるように、Aモードではそれが正しい動作です。
http://i-njoy.net/tips/plus_asc.shtml
「Aモード」の場合、「ログ件数=(保留+すでに受信したコメント)の総数」になります。
| CJ | URL | 2014/12/11 10:05 PM | 6RvPH00s |
ありがとうございます。本当に助かりました。
| ZK | URL | 2015/01/03 11:13 PM | 0u8Ml63U |
いつもお世話になります。
ぶろぐんを始めて10年近くなり、このページのツールで拡張し始めて、大変役立てています。
さて、最近、既存のサーバーが壊れ、新たにOSもミドルウェアも最新にしたところ、コメントキャプチャツールでエラーを吐くようになりました。環境は次の通りです。
ぶろぐん:2.6.11a
MySQL:5.5.43
Apache2:2.4.10
PHP:5.6.9-0+deb8u1
エラーログ
PHP Notice: Undefined variable: php in /hogehoge/module/asm4cmt/style.php on line 323
PHP Notice: Undefined index: u in /hogehoge/module/amnbo/tool.php on line 17
PHP Notice: Undefined variable: stars in /hogehoge/module/amnbo/tool.php on line 283
PHP Notice: Undefined index: u in /hogehoge/module/amnbo/tool.php on line 17
PHP Notice: Undefined variable: stars in /hogehoge/module/amnbo/tool.php on line 283
PHP Notice: Undefined index: u in /hogehoge/module/amnbo/tool.php on line 17
PHP Notice: Undefined index: img in /hogehoge/module/amnbo/tool.php on line 267
PHP Notice: Undefined variable: stars in /hogehoge/module/amnbo/tool.php on line 283
PHP Notice: Undefined index: txt in /hogehoge/module/amnbo/tool.php on line 289
PHP Notice: Undefined index: u in /hogehoge/module/amnbo/tool.php on line 17
PHP Notice: Undefined index: u in /hogehoge/module/amnbo/tool.php on line 17
PHP Notice: Undefined variable: stars in /hogehoge/module/amnbo/tool.php on line 283
PHP Notice: Undefined variable: stars in /hogehoge/module/amnbo/tool.php on line 283
PHPのバージョンと関係しているのでしょうか。
一度、調査願いますでしょうか。
| いぐぅ | URL | 2015/07/11 03:48 PM | 1LX.dRM2 |
【追記】
肝心なOSを書くのを忘れておりました。
debian 8 でございます。
| いぐぅ | URL | 2015/07/11 03:49 PM | 1LX.dRM2 |
Notice エラーがログに記録されるのは、PHP のバージョンとは無関係で、PHP の設定の問題だと思います。
error_reporting の値が「E_ALL」になっているのではないでしょうか?
それはさておき、エラーログを読むと「コメントスパム対策モジュール」と「アメンボ for BlognPlus」が Notice エラーの原因ですね。
「アメンボ」の方は不具合を修正した ver1.02 を先ほど公開したので、アップデートしていただければエラーが出なくなるはずです。
「コメントスパム対策モジュール」の方ですが、古い BlognPlus(v2.5.6) でも動作するための部分でエラーが出ているようです。
v2.5.6 を切り捨ててしまっていいのかどうか決めかねています。
スクリプトの修正方法を書きますので、お手数ですがそちらで修正してください。
========================================
/module/asm4cmt/style.php の321行目
// $php != true の場合、外部スタイルシートとして出力
の次の行に
if (!isset($php)) $php = null;
を加えて下さい。
========================================
実は他のモジュール(例:トラックバックスパム対策モジュール、パンくずリスト表示モジュール、etc)でも同様の問題を抱えています。「style.php」を同じように修正すれば直ります。
ちなみにこのエラーが出るのはモジュールの管理画面を表示させた時限定(のはず)です。
| CJ | URL | 2015/07/11 10:03 PM | 6RvPH00s |
CJさま
早々のご回答、また、アップデートありがとうございます。
早速、ご指摘通りの修正をさせていただきます。
取りあえずは、お礼のご連絡まで。
| いぐぅ | URL | 2015/07/12 01:27 PM | 1LX.dRM2 |
CJさま
早速、style.phpを修正とアメンボをアップデートしました。
(アメンボはinfo.phpのバージョンがそのままだったので手修正しました(^^ゞ)
確かにNoticeは吐かなくなりました。ありがとうございます。
で、大変恐縮というか本来、ここへのバグ?報告を書くのを忘れていました。
従来、コメントスパム対策モジュールをオン時は、普通に投稿され画面遷移します。
上記のようにOSからミドルウェアまで全てバージョンアップした状態で、コメントを書くとページが遷移したままで真っ白の状態です。投稿もされません。ただ、NGワードっぽい物があると、警告メッセージが出ます。
管理画面からコメントスパムモジュールをOFFにしてやると、普通にコメントが出来ます。
そこで、syslogに何かでていないかチェックしたのが、昨日の件ですが、それ以外に何もでていないため、何が原因かわからない状況です。
「ここのログを見て!」とご指摘がありましたら、探してみますので、再度宜しくお願いいたします。
| いぐぅ | URL | 2015/07/12 02:04 PM | 1LX.dRM2 |
アメンボの info.php の件失礼しました。ご指摘ありがとうございます。修正しておきました。
コメントスパム対策モジュールの不具合についてですが、まずは次のことを行ってください。
1) /asm4cmt/ ディレクトリ内の *.cgi ファイルのパーミッションに書き込み権限があることを確認
2) モジュール管理画面から「ログ一括削除」ボタンを押してログを削除
3) コメントスパム対策モジュールをオンにする
3) Comment Captcha モジュールを併用している場合は、そちらのモジュールをオフにする
これでコメントが投稿できるか確認してみてください。
これでもダメな場合は、動作モードをテストモードにして普通のコメントとスパムとして引っかかるコメントを投稿してみてください。
そして結果を教えてください。
・コメントとして投稿されたかどうか
・コメントスパム対策モジュールのログに記録されたかどうか
次に動作モードをAモードにして同じテストを繰り返し、結果を教えてください。
| CJ | URL | 2015/07/12 04:22 PM | 6RvPH00s |
CJさま
ご回答ありがとうございます。
早速試してみました。
1)*.cgiファイルのパーミッションですが、606ないしは666でした。(前cgiファイル統一)
2)ログ削除行い消えました
3)コメントスパム対策モジュールをオンにしました。
4)コメントキャプチャモジュールをオフにしました
結果)⇒変わらずでした
次に、動作モードをテストモードにしてみました。
結果)⇒変わらずでした
コメントとして投稿されず、ログにも記録されないままでした。
最後に、動作モードをAモードにしました。
結果)⇒変わらずでした
ちなみに、速攻コメントを行うと
>コメント投稿エラー
>投稿内容に不備等があったため、
>投稿に失敗しました。
とでます。なので、プログラム上ある程度処理は出来ているけども、どこかで転けているか、ループしているか、何かしら起きているのではないかと思います。念のため、syslogやmessageで確認したのですが、ログは吐かれていませんでした。
| いぐぅ | URL | 2015/07/12 05:15 PM | 1LX.dRM2 |
更に追記しますと、一旦モジュールを削除し、CJさまのサイトからダウンロードして、もう一度再インストールを行いました。
そして、ご指摘通りのテストを繰り返し行いましたが、結果は同じでした。
| いぐぅ | URL | 2015/07/12 05:24 PM | 1LX.dRM2 |
テスト結果どうもありがとうございます。
これをもとに検証してみますが、ちょっと時間がかかるかもしれません。
何か進展があればまたここに書き込みますので、数日後にでもチェックしてください。
| CJ | URL | 2015/07/12 10:11 PM | 6RvPH00s |
CJさま
お忙しいところコメントいただきありがとうございます。
数日後にチェックさせていただきます<(_ _)>
| いぐぅ | URL | 2015/07/13 08:05 PM | 1LX.dRM2 |
いぐぅさん
テストモードにして、スパム認定方法で「リダイレクト」「IPアドレス」「プロキシ」の3項目のペナルティを「0.0」に設定し、コメントが投稿できるかテストしていただけますか?
もしそれでもコメント投稿に失敗する場合は、スパム認定方法のペナルティをすべて「0.0」にして試してください。
それでもダメな場合は、最後に荒らし対策や拡張機能もすべてOFFにして試してください。
| CJ | URL | 2015/07/14 09:59 PM | 6RvPH00s |
CJさま
お忙しい中コメントありがとうございます。
実は、その後、設定はそのままの状態で(第三者による)コメントが出来ることを先程確認しました。何となくの原因が分かってきました。
と言いますと、投稿時間が現在時刻より過去の時間は投稿Okで、未来時間はダメのようです。これまでは、何度もテストをして透過していたので、大丈夫と思っていました。
では、当時のバージョンが確認出来ないのですが、記憶を辿る限り
OS:debian wheezy
ぶろぐん:2.6.11a
MySQL:5.?.??
Apache2:2.2.??
PHP:5.5.????
です。これだけでは判断できないと思いますが、週末に一度調べてみます。
あと、CJさまが書かれたテストについても、明日確認してみます。
| いぐぅ | URL | 2015/07/15 11:23 PM | 1LX.dRM2 |
CJさま
早速、未来日の投稿記事に対して、下記の条件でしました。
>テストモードにして、スパム認定方法で「リダイレクト」「IPアドレス」「プロキシ」の3項目のペナルティを「0.0」に設定
上記の条件で投稿したところ、無事に投稿できました。
また、コメント受信すると、これまで2通メールが届いていたのですが、1通になりました。
| いぐぅ | URL | 2015/07/16 08:34 PM | 1LX.dRM2 |
今回試してもらったスパム認定方法3種はいずれも外部との通信が発生します。
(他の方法はすべてサーバー内で完結)
次は個別にペナルティを「0.0」以外にして、3つのスパム認定方法のどれが問題の原因か特定していただけますか?
> 投稿時間が現在時刻より過去の時間は投稿Okで、未来時間はダメ
このモジュールでは投稿日時を見ていないんですけどね…。なぜそのような動作しているのかちょっと分かりません。
> コメント受信すると、これまで2通メールが届いていたのですが、1通になりました。
これも想定外です。
| CJ | URL | 2015/07/16 10:28 PM | 6RvPH00s |
nJOYさん
ご無沙汰しております。
数年放置していたブログを再開しようと思い
nJOYさんのモジュールをアップデートさせて頂こうと思ったのですが、blognplusで表示は問題ないのですが
新規投稿ができす過去記事は投稿記事がありません
と表示されてしまいます。
数年前の最後の投稿から弄っておらず
原因がわからなくて困っています。
考えられる原因をお教え頂けたら幸いです。
サーバーはCORESERVERでblognplusのバージョンは
2.5.6、mysqlです。
お忙しい所申し訳ありませんがよろしくお願いいたします。
| dimag5 | URL | 2015/07/17 11:34 AM | MtyrO012 |
CJさま
お忙しいところコメント頂戴しありがとうございます。
個別ペナルティを「0.0」以外にして行いました。
まず、スパム認定方法の12行目に値を入れました。
⇒真っ白のまま画面は遷移しませんでした。投稿も出来ませんでした。
次に、スパム認定方法の12行目の値を0にして13行目に値を入れました。
⇒コメント投稿できました
次に、スパム認定方法の13行目の値を0にして14行目に値を入れました。
⇒コメント投稿できました
ついでなので、12行目と13行目に値を入れ14行目の値を0にしました。
⇒真っ白のまま画面は遷移しませんでした。投稿も出来ませんでした。
次に、13行目の値を0にして14行目に値を入れました。
⇒真っ白のまま画面は遷移しませんでした。投稿も出来ませんでした。
最後に、12行目の値を0にして13行目に値を入れました。
⇒コメント投稿できました
>> 投稿時間が現在時刻より過去の時間は投稿Okで、未来時間はダメ
>このモジュールでは投稿日時を見ていないんですけどね…。なぜそのような動作しているのかちょっと分かりません。
すみません。私もてっきり未来時間はダメかと思っていたのですが、その後どう言う訳か投稿できるようになりました。
また、2通のメールが1通になった。と言う報告ですが、その後時間差で2通届くことが分かりました。上記の試験でもコメント投稿できたものは、2通のメールが届きます。
これ以上の公開やりとりは、スパマーの餌食になるかと思いますので、下記のURLからメールでやり取りをしたいと提案します。
http://www.sir-2.net/dablg/index.php?p=1
| いぐぅ | URL | 2015/07/17 07:05 PM | 1LX.dRM2 |
dimag5さん
まず先に確認しておきたいのですが、新規投稿ができないなどの問題はうちのモジュールと関係があるのでしょうか?
BlognPlus 本体側、またはサーバー側の問題の場合、僕にはちょっと分かりません。
もし可能であるなら、データ管理から記事データをエクスポートした後、BlognPlus を更新または新規インストールしてみてはどうでしょうか?
いぐぅさん
先ほどメールを送っておきました。
| CJ | URL | 2015/07/18 03:08 PM | 6RvPH00s |
CJさん
申し訳ありません。
CJさんのモジュールとは関係ありません
blognのコミュニティが動いてないようだったので
CJさんに質問してしまいました。
新規インストールしてみます
ありがとうございました。
| dimag5 | URL | 2015/07/19 01:21 PM | MtyrO012 |