DokuWiki

It's better when it's simple

ユーザ用ツール

サイト用ツール


ja:blacklist

文書の過去の版を表示しています。


ブラックリスト

インターネットは以前のように安全な場所ではありません。古き良きものは崩れ去り、Wiki でも同様です。WikiSpam、いわば電子メールやブログのスパムと同じものが増えています。あなたがもし DokuWiki をイントラネットで使用している場合は全く問題ありません。しかし、もしインターネット上で使用する予定がある場合は、よく知られたスパムワードをブラックリストに載せたくなるかもしれません。

DokuWiki でブラックリストを使用するには、usewordblock オプションを有効にし、conf/wordblock.conf ファイルを編集してください。このファイルは Perl 互換の正規表現を含んでおり、保存されるページの内容がこれらのいずれかにマッチした場合は、ページの保存が拒否されます。

デフォルトで DokuWiki に添付されているリストには chongqed.org でメンテナンスされている正規表現が含まれています。ブラックリストをアップデートする場合は以下のコマンドを実行してください (このコマンドを cron に登録して日次実行するも良い考えです)。

$ wget http://blacklist.chongqed.org/ -O conf/wordblock.conf

もしブラックリストを使用しているにも関わらず Wiki にスパムが投稿されてしまった場合は、chongqed.org にスパマーの登録を行っていただけますと助かります。彼らの Wiki に報告することもできます。

もし IP アドレスで拒否する場合は、Apache の Deny ディレクティブを使用すべきです。

ブロックした攻撃の記録

DokuWiki 自体のソースコードに変更を加えることになってしまいますが、以下に示すような変更を加えると、ブロックした攻撃を data/meta/wordblock.log ファイルに記録することができるようになります。このログファイルはブラックリストのデバッグに使用できます。

ファイル: inc/common.php

変更前:

if(preg_match('#('.join('|',$re).')#si',$text, $match=array())) {
  return true;
}

変更後:

if(preg_match('#('.join('|',$re).')#si',$text, $match=array())) {
 
  preg_match('#('.join('|',$re).')#si',$text, $match);
  io_saveFile($conf['metadir'].'/wordblock.log', date($conf['dformat'])."\t".$match[0]."\t".$ID.$_SERVER['REMOTE_USER']."\t".$_SERVER['REMOTE_ADDR'].":".$_SERVER['SERVER_PORT']."\t".gethostbyaddr($_SERVER['REMOTE_ADDR'])."\t".$_SERVER['HTTP_USER_AGENT']."\n",true);
 
  return true;
}
ja/blacklist.1260089122.txt.gz · 最終更新: 2009-12-06 09:45 by kazmiya

特に明示されていない限り、本Wikiの内容は次のライセンスに従います: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki