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

おすすめの記事

「このアプリがシャットダウンを妨げています」と表示されるがアプリがわからない場合の対処法

「このアプリがシャットダウンを妨げています」と表示されるが…

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

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

Google Feed APIの代替手段としてjQueryだけでRSSを表示する方法

Google Feed APIの代替手段としてjQueryだけでRSSを表示する方法

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

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

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

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

W3 Total Cacheの設定を通して学ぶ、WordPressを高速化するキャッシュの仕組み

W3 Total Cacheの設定を通して学ぶ、WordPressを高速化するキャ…

サーバの処理を自動実行するcronの仕組みと応用法

サーバの処理を自動実行するcronの仕組みと応用法

使うであろう文字だけの、HTML・XHTMLエンティティシート

使うであろう文字だけの、HTML・XHTMLエンティティシート


コメントを残す

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

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