spam_filter.phpで特定のホストをブロック


投稿日:2011年12月21日
  • 0
  • 0



こちらの記事」で書いたとおり、同じUSER_AGENTの業者から繰り返しスパム行為を受けました。

IPやホスト名によるフィルタで対応していましたが、4社間をローテーションするようにスパム行為を続けるため、対応するのも煩わしくなりました。

そこで「spam_filter.php」で業者の特徴であるUSER_AGENTをブロックすることにしました。


設定方法

今回の業者のUSER_AGENTは「Mozilla/5.0 (Windows NT 5.1; rv:6.0.1) Gecko/20100101 Firefox/6.0.1」なので正規表現に直してブロックリストに追加する。
Mozilla¥/5¥.0 ¥(Windows NT 5¥.1; rv:6¥.0¥.1¥) Gecko¥/20100101 Firefox¥/6¥.0¥.1」と直した。
正規表現の書き方については「以前書いた記事」を参照して下さい。

spam_filter.php」の117行目あたり

//// useragent - HTTP_USER_AGENTによるフィルタ
// 許可しないHTTP_USER_AGENTの正規表現
define('SPAM_FILTER_USERAGENT_REG', '/WWW-Mechanize|libwww|Mozilla¥/5¥.0 ¥(Windows NT 5¥.1; rv:6¥.0¥.1¥) Gecko¥/20100101 Firefox¥/6¥.0¥.1/i');
define('SPAM_FILTER_USERAGENT_PLUGIN_NAME', 'tracker,recorder,edit,comment,pcomment,article,attach');

とした。

さらに「pukiwiki.ini.php」に追加した「spam_filter.php」用のタグ

define('SPAM_FILTER_COND', '#atag() or #urlbl() or #ipbl() or #onlyeng()');

にユーザーエージェントをブロックする機能を加える「#useragent()」を追加して

define('SPAM_FILTER_COND', '#atag() or #urlbl() or #ipbl() or #onlyeng() or #useragent()');

とした。


これで同じソフトを使って荒らし行為を繰り返す業者の書き込みをブロックできる。今回はPukiWikiのプラグインの設定でしたが、cgiで書かれた掲示板やCMSでも同じような設定項目があるはずなので、応用できると思います。


現在のページを共有する



現在のページに関連する記事

spam_filter.phpで特定のホストをブロック spam_filter.phpで特定のホストをブロック
spam_filter.phpを導入 spam_filter.phpを導入
spam_filter.phpで特定のホストをブロック PukiWikiで日本以外の国からの編集を拒否する方法
spam_filter.phpで特定のホストをブロック PukiWikiで空のコメントが追加されてしまう場合の対処法
spam_filter.phpで特定のホストをブロック ログ解析やユーザーの振り分けに活躍する、ユーザーエージェントまとめ
PukiWikiへ「attachref.inc.php」と「areaedit.inc.php」プラグインの導入 PukiWikiへ「attachref.inc.php」と「areaedit.inc.php」プラグインの導入
サーバへPukiWikiをインストール サーバへPukiWikiをインストール

おすすめの記事

Web制作の仕組みを根底から覆すかもしれないWix ADIの人工知能

Web制作の仕組みを根底から覆すかもしれないWix ADIの人工知能

サーバで管理していたWordPressをローカル環境に移行する方法

サーバで管理していたWordPressをローカル環境に移行する方法

fluentdと連動して集計処理を行うNorikraの導入方法

fluentdと連動して集計処理を行うNorikraの導入方法

Googlebotを手懐ける!robots.txtの書き方とrobots.txtテスターの使い方

Googlebotを手懐ける!robots.txtの書き方とrobots.txtテスター…

UWSCでPhotoshopの作業を自動化する方法

UWSCでPhotoshopの作業を自動化する方法

Mac OS 9時代のIDE接続のHDDをMacDrive 10を利用してWindows 10で読み込む方法

Mac OS 9時代のIDE接続のHDDをMacDrive 10を利用してWindows 10…

コピペから脱出!iptablesの仕組みを理解して環境に合わせた設定をしよう

コピペから脱出!iptablesの仕組みを理解して環境に合わせた設…

シンプルなスパムコメント対策プラグイン「Simple AntiSpam」を作成しました

シンプルなスパムコメント対策プラグイン「Simple AntiSpam」を…


コメントを残す

コメントは認証制のため、すぐには反映されません。

プログラミングに関する質問は「日本語でプログラミングの悩みを解決するQ&Aサイト sukegra」をご利用ください。