[[diary/Kojima]]

・wiki spam ブロック

最近、以前に増してspam投稿が増えてきたので、spam投稿を繰り返すIPアドレスはhttpdのレベルでハジくことにしてみた。

例えば、access_log にこんなアクセス記録が残っていると、そのアクセス元はspamの投稿元として
banリストに登録するようにしている。

 94.23.8.208 - - [26/Apr/2012:21:41:16 +0900] "POST /wiki/index.php HTTP/1.0" 200 3450
 94.23.8.208 - - [26/Apr/2012:21:41:17 +0900] "POST /wiki/index.php HTTP/1.0" 200 3450
 94.23.8.208 - - [26/Apr/2012:21:41:18 +0900] "POST /wiki/index.php HTTP/1.0" 200 3450
 94.23.8.208 - - [26/Apr/2012:21:41:20 +0900] "POST /wiki/index.php HTTP/1.0" 200 3450
 94.23.8.208 - - [26/Apr/2012:21:41:21 +0900] "POST /wiki/index.php HTTP/1.0" 200 3450

一応、「数分以内」に「複数回のPOSTを繰替す」アドレスをspam元と考えているので、
ちゃんとした記事を投稿される方はご注意くだされ。

# 一定期間がすぎればbanを解除するような仕組みは考えてないので悪しからず :-P

もし間違ってbanリストに登録されてしまった人がいたら連絡ください、と書きたいところだけど、
そういう人は既にこのサイトを見れなくなっているのであった。。
- よく分からん文字コードで投稿しているのは定期的に削除するようにしてみたけど、その副作用で「最新の10件」がまばらになったりする模様。また、たまに正式な形式(「不具合報告」とか)でspamが投稿されることもあるのだけど、それらは機械的に削除できないもののwikiの編集機能で削除できるので、目に付いた人は削除よろしくです。 -- [[kojima]] &new{2012-05-05 (土) 07:43:11};
- pukiwiki/cache/recent.dat の該当個所を削除した方がよいかもしれませんね。 RSS 購読してると削除されたページへのリンクが表示されるので ^^); -- [[M.Tomi]] &new{2012-05-05 (土) 18:31:19};
- ざっと試した感じ、こんな sed スクリプトを流せばいいかな? sed -i -e "/\x8F\xAA\xB1\x8F\xAA/d" pukiwiki/cache/recent.dat  -- [[kojima]] &new{2012-05-05 (土) 21:48:49};

#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS