Extension:SpamBlacklist/ja

SpamBlacklistエクステンションはして入れたファイルもしくはwikiページで定義された正規表現にマッチするRLホストを含む編集を防止できます. 誰かがページを保存しようとすると、不正なホスト名の潜在的にとても巨大なリストに対してテキストをチェックします. マッチする物がある場合、ユーザに対してエラーメッセージを表示してページの保存を拒否します.

インストレーション
エクステンションはバージョン1.6.0以降のMediaWikiで動作します.

基本的なインストレーション

 * 1) SpamBlacklistファイルをextensionsディレクトリのSpamBlacklistサブディレクトリに保存します.  SpamBlacklistディレクトリには少なくとも以下の3つのファイルが存在することになります.


 * 1) * SpamBlacklist/SpamBlacklist.php
 * 2) * SpamBlacklist/SpamBlacklist_body.php
 * 3) * SpamBlacklist/SpamBlacklist.i18n.php
 * 4) 次の行をMediaWikiのrootディレクトリにあるLocalSettings.phpに追加します:

バッドRLのリストは複数のソースから引き出すことができます. これらのソーｓは$wgSpamBlacklistFilesグローバル変数によって設定できます. このグローバル変数はSpamBlacklist.phpをインクルードした後のLocalSettings.phpで設定できます.

$wgSpamBlacklistFilesは配列で、それぞれの値はRLもしくはファイル名もしくはデータベースの位置を含みます. データベースの位置を指定することでwiki上のページからブラックリストを引き出すことができます. データベースの位置指定子のフォーマットは"DB: "です.

追加ファイルがリストされていても、ローカルページであるMediaWiki:Spam-blacklistとMediaWiki:Spam-whitelistは常に使用できます.

$wgSpamBlacklistFilesを定義してLocalSettings.phpでエクステンションを要求することで、フィルタが有効になります.

カスタムのブラックリストソース
MediaWikiと互換性のあるブラックリストファイルの最初のソースはWikimediaの Meta-Wiki上にあるスパムブラックリスト( http://meta.wikimedia.org/wiki/Spam_blacklist )です. デフォルト構成は10-15分ごとに一度このリストを読み込みます. しかしながら、Wikimediaのスパムブラックリストは認証された管理者のみが編集できます. リストが大規模に使用されるようになってから、何千もの外部リンクを持つwiki、Wikimediaブラックリストは、ブロックするリンクに関しては比較的慎重です. http://meta.wikimedia.org/wiki/Talk:Spam_blacklist でブラックリストの修正を提案できます.

複数のもしくは異なるソースからバッドホスト名のリストを引き出したい場合、エクステンションをインクルードした後で$wgSpamBlacklistFiles配列を追加します. 一旦$wgSpamBlacklistFilesを定義すると、デフォルトの振る舞い(Meta-Wikiブラックリスト)はもはや動作しないことに注意して下さい. $wgSpamBlacklistFilesは配列で、それぞれの値はRL、ファイル名、データベースの位置のどれかを含みます. データベースの位置を指定することでwiki上のページからブラックリストを引き出すことが可能になります.

データベース位置の指定子のフォーマットは"DB: [db name] [title]"です. [db name]はLocalSettings.phpにおける$wgDBname</tt>の値に正確にマッチします. wikiのデフォルトの名前空間で要求されたページ名　[title]を作成します. これを行う場合、一般利用者の編集からページを保護することを強くお勧めします. 誰かがすべての物にマッチする正規表現を追加する明らかな危険性に加えて、任意の正規表現を入力できる攻撃者はPCREライブラリでセグフォルトを生成する可能性があります.

例:

上記の例において、スパムブラックリストは2つのソースからコンストラクトされます: wikiインストレーションのSpamBlacklistディレクトリのwikimedia_blacklistファイルと、My_spam_blacklistという名前のwiki上のページの内容です. Wikimediaのブラックリストをローカルにホストしていない場合、次のように行を変更する必要があります:

ホワイトリスト
対応するホワイトリストはMediaWiki:Spam-whitelistメッセージを編集することで維持できます. 使用している別のwikiのブラックリストからの選択エントリを上書きしたい場合、これは便利です.

ノート

 * エクステンションとドキュメンテーションはTim Starlingによって書かれ、曖昧にライセンスを付与しています.
 * Extension:SpamBlacklist/update scriptは共有ブラックリストから自動的に更新できるクローンスクリプトです. memcachedを利用している場合、spam_blacklist_regexes</tt>キーも削除しなければなりません (例えば、maintenance/mcc.php</tt>を使用する場合).

構文
一つの行で'#'文字の後の文字はすべて無視されます(コメント用). すべての別の文字列はURL内でのみマッチする正規表現のフラグメントです.

注:
 * "http://"もしくは"www."を追加しません; 正規表現はURL内部でどのサブドメインにマッチするので必要ありません.
 * URKの前で終わらないパターンは使わないで下さい(例えば、'.*'を含むもの).
 * '^'と'$'アンカーはURLの始めと終わりではなくページの始めと終わりでにマッチします.

パフォーマンス
エクステンションは のような単独の正規表現の文を作成します. すべてのページビュー上のすべてのコードをロードすることを回避するために、この正規表現は"loader"ファイルに保存されます. MediaWikiインストレーションに対してキャッシュを利用することは強くお勧めしますが、MMCacheといったバイトコードキャッシュを使用していなくてもページビューパフォーマンスは影響を受けません.

正規表現のマッチ自身一般的にわずかなオーバーヘッドをページの保存に追加します(我々の経験によればおよそ100ms). しかしながらディスクもしくはデータベースからスパムフィルタを読み込むこと、と正規表現を構築することはハードウェアによって膨大な時間がかかることがあります. このエクステンションを有効にすることで保存が過度に遅くなった場合、サポートされるバイトコードキャッシュをインストールしてみて下さい. SpamBlacklistエクステンションはそのようなシステムが存在する場合、構築された正規表現をキャッシュします.

安定性
このエクステンションはウィキメディア財団外部で広くテストが行われていません. 2004年12月以降Wikimediaのウェブサイトで利用されていますが、実験段階と考えるべきです. デザインは少々の入力検証を伴ったシンプルなものなので、不正な正規表現の入力もしくは非標準的なコンフィギュレーションによって予期しない振る舞いが起こりえます.

関連項目

 * 互換性のあるブラックリスト
 * Meta-wiki Blacklist
 * chongqed.org Blacklist
 * Wikia Blacklist
 * WRT-Wiki Blacklist -- Small
 * RPG.net blacklist


 * 他のリソース
 * Update script


 * 情報
 * Anti-spam features - 組み込みの$wgSpamRegexアンチスパムメカニズムへのリンクが含まれます.
 * Blocking Spam in MediaWiki (5つの効果的な段階について説明しています: wgSpamRegexによるAnti-CSS-Hidden Spam、htaccessによるAnti-Blank User Agents、ConfirmEdit、BadBehaviorとSpamBlacklist)
 * 最新のSpamBlacklist READMEファイル


 * システムメッセージ