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をインストール

おすすめの記事

DNS Amp攻撃の解説と、踏み台にされないためのBIND DNSの設定

DNS Amp攻撃の解説と、踏み台にされないためのBIND DNSの設定

Google Adsenseで配信される詐欺的なサイトのブロック用URLまとめ

Google Adsenseで配信される詐欺的なサイトのブロック用URLまとめ

初めてでも理解できるようになる「Firefox機能拡張の開発」

初めてでも理解できるようになる「Firefox機能拡張の開発」

作業効率を飛躍的に向上させる!実務で使うIllustratorのショートカット一覧

作業効率を飛躍的に向上させる!実務で使うIllustratorのショー…

インストールだけじゃない!yumの設定から便利な使い方まで徹底的に解説

インストールだけじゃない!yumの設定から便利な使い方まで徹底…

エンティティとデコード用プラグイン「Entity Decode Button」を作成しました

エンティティとデコード用プラグイン「Entity Decode Button」…

Windows 10でネットワークが不安定になった際の対策まとめ

Windows 10でネットワークが不安定になった際の対策まとめ

全く新しい決済サービスPayPal.Meの導入と使い方を解説

全く新しい決済サービスPayPal.Meの導入と使い方を解説


コメントを残す

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

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