Open main menu

Extension:AbuseFilter

This page is a translated version of the page Extension:AbuseFilter and the translation is 100% complete.

Other languages:
Deutsch • ‎English • ‎català • ‎dansk • ‎español • ‎français • ‎galego • ‎italiano • ‎magyar • ‎polski • ‎português • ‎português do Brasil • ‎română • ‎sicilianu • ‎čeština • ‎български • ‎русский • ‎עברית • ‎سنڌي • ‎فارسی • ‎हिन्दी • ‎বাংলা • ‎中文 • ‎日本語 • ‎粵語 • ‎한국어
MediaWiki 拡張機能マニュアル
OOjs UI icon advanced.svg
AbuseFilter
リリースの状態: 安定
AbuseFilter-Management.png
実装 利用者アクティビティ , 特別ページ , API
説明 ウィキでの活動に対して、特定の挙動ベースの制限をかけられるようにする
作者
互換性ポリシー リリースブランチ
MediaWiki 1.33+
PHP 5.4+ 推奨
データベースの変更 はい
テーブル abuse_filter
abuse_filter_action
abuse_filter_history
abuse_filter_log
ライセンス GNU 一般公衆利用許諾書 2.0 以降
ダウンロード
  • $wgAbuseFilterActions
  • $wgAbuseFilterConditionLimit
  • $wgAbuseFilterEmergencyDisableThreshold
  • $wgAbuseFilterEmergencyDisableCount
  • $wgAbuseFilterEmergencyDisableAge
  • $wgAbuseFilterParserClass
  • $wgAbuseFilterRestrictions
  • $wgAbuseFilterNotifications
  • $wgAbuseFilterNotificationsPrivate
  • $wgAbuseFilterCentralDB
  • $wgAbuseFilterIsCentral
  • $wgAbuseFilterDisallowGlobalLocalBlocks
  • $wgAbuseFilterBlockDuration
  • $wgAbuseFilterAnonBlockDuration
  • $wgAbuseFilterCustomActionsHandler
  • $wgAbuseFilterValidGroups
  • $wgAbuseFilterDefaultWarningMessage
  • $wgAbuseFilterIPMaxAge
  • $wgAbuseFilterProfileActionsCap
  • abusefilter-view
  • abusefilter-log
  • abusefilter-log-detail
  • abusefilter-revert
  • abusefilter-private
  • abusefilter-private-log
  • abusefilter-view-private
  • abusefilter-log-private
  • abusefilter-hidden-log
  • abusefilter-hide-log
  • abusefilter-modify
  • abusefilter-modify-restricted
  • abusefilter-modify-global
translatewiki.net で翻訳を利用できる場合は、AbuseFilter 拡張機能の翻訳にご協力ください
使用状況とバージョン マトリクスを確認してください。
問題点 未解決のタスク · バグを報告

AbuseFilter(不正利用フィルター)拡張機能は利用者が編集等の特定の種類の行動をとった場合、自動的に既定の挙動をするもので、権限を持つ利用者が設定・調整します。 たとえば匿名利用者が外部リンクを追加できなくしたり、2,000キャラクター以上削除した利用者をブロックするなどのフィルターを作成できます。

Contents

要件

この拡張機能には要件となる依存関係はありません。

インストール

  • ダウンロードして、ファイルを extensions/ フォルダー内の AbuseFilter という名前のディレクトリ内に配置します。
  • git からのインストールの場合のみ、PHP の依存関係をインストールするため Composer を実行します。拡張機能のディレクトリで composer install --no-dev を実行します。 (See T173141 for potential complications.)
  • 以下のコードを LocalSettings.php の末尾に追加します:
    wfLoadExtension( 'AbuseFilter' );
    
  • 更新スクリプトを実行します。このスクリプトは、この拡張機能が必要とするデータベース テーブルを自動的に作成します。
  •   完了 – ウィキの「Special:Version」に移動して、拡張機能が正しくインストールされたことを確認します。

MediaWiki 1.26 以前を稼働させている利用者へ:

上記の手順では、wfLoadExtension() を使用してこの拡張機能をインストールする新しい方法を記載しています。 この拡張機能をこれらの過去のバージョン (MediaWiki 1.26 以前) にインストールする必要がある場合は、wfLoadExtension( 'AbuseFilter' ); の代わりに以下を使用する必要があります:

require_once "$IP/extensions/AbuseFilter/AbuseFilter.php";


利用者権限

拡張機能をインストールしたら、LocalSettings.php で利用者権限をセットアップしてください。

権限 説明
abusefilter-modify 不正利用フィルターを変更
abusefilter-view 不正利用フィルターを閲覧
abusefilter-log 不正利用記録を閲覧
abusefilter-log-detail 不正利用記録の詳細項目を閲覧
abusefilter-private 不正利用記録内の非公開データを閲覧
abusefilter-modify-restricted 制限された操作を含む不正利用フィルターを変更
abusefilter-modify-global グローバル不正利用フィルターを作成または変更
abusefilter-revert 指定した不正利用フィルターによるすべての変更を差し戻す
abusefilter-view-private 非公開の不正利用フィルターを閲覧
abusefilter-log-private 非公開の不正利用フィルター記録を閲覧
abusefilter-hide-log 不正利用記録の項目を隠す
abusefilter-hidden-log 隠された不正利用記録を閲覧
abusefilter-private-log 不正利用フィルター非公開記録の調査記録を閲覧

例えば、以下の設定例では、管理者には不正利用フィルターの全操作を、一般利用者には公開しているフィルターに限り設定、ログの閲覧を許可しています。

$wgGroupPermissions['sysop']['abusefilter-modify'] = true;
$wgGroupPermissions['*']['abusefilter-log-detail'] = true;
$wgGroupPermissions['*']['abusefilter-view'] = true;
$wgGroupPermissions['*']['abusefilter-log'] = true;
$wgGroupPermissions['sysop']['abusefilter-private'] = true;
$wgGroupPermissions['sysop']['abusefilter-modify-restricted'] = true;
$wgGroupPermissions['sysop']['abusefilter-revert'] = true;
「非公開」とマークされたフィルターは、abusefilter-modify 権限または abusefilter-view-private 権限のどちらかを持つ利用者のみが閲覧できます。

フィルターの作成と管理

拡張機能がインストールされた後は、Special:AbuseFilterから不正利用フィルター管理ページに飛び、フィルターを作成、テスト、変更、削除できます。

設定

変数名 既定値 説明
$wgAbuseFilterActions array( 'flag' => true, 'throttle' => true, 'warn' => true, 'disallow' => true, 'blockautopromote' => true, 'block' => true, 'rangeblock' => false, 'degroup' => true, 'tag' => true ) 不正利用フィルターが取得できるアクション。 新しいアクションを追加する前に、$wgAbuseFilterRestrictionsで制限されているかどうか確認し、制限されている場合には必ず、適合する利用者グループに対してabusefilter-modify-restricted権限を付与してください。
$wgAbuseFilterConditionLimit 1000 フィルターが一つの変更に対して実行されるたびに使用することのできる「条件」数の最大値。(複雑なフィルターは、多くの「条件」を必要になる)
$wgAbuseFilterValidGroups [ 'default' ] 「グループ」フィルターの一覧を分割できます。既定ではグループは1件だけです。 他の拡張機能によってグループが追加されることがあります。
$wgAbuseFilterEmergencyDisableThreshold array( 'default' => 0.05 ) 検出頻度の多いフィルターを無効にする設定。例えばこの標準設定の場合、フィルターが2回を超える編集にマッチし、最近の編集の5%を超えて構成され、かつ最後更新から86400秒(一日)以内に変更されていない場合、フィルターは無効になる。
$wgAbuseFilterEmergencyDisableCount array( 'default' => 2 )
$wgAbuseFilterEmergencyDisableAge array( 'default' => 86400 )
$wgAbuseFilterParserClass 'AbuseFilterParser' 不正利用フィルターのパーサークラスの名前。
$wgAbuseFilterRestrictions array( 'block' => true, 'degroup' => true, 'blockautopromote' => true, 'rangeblock' => true ) フィルターを作成する際、これらの対処発動を設定できるのは「abusefilter-modify」の他、「abusefilter-modify-restricted」権限を持っている利用者のみ。
$wgAbuseFilterNotifications false 拡張機能がフィルター検出記録を Special:RecentChanges (最近の更新) や UDP に送信できるよう設定します。 オプションは、 rc, udp, rcandudp
$wgAbuseFilterNotificationsPrivate false 非公開フィルターの通知を有効にするかどうか。
$wgAbuseFilterCentralDB null グローバル不正利用フィルターが保存されるデータベースの名前 (対応は最新の開発版に限定)。
$wgAbuseFilterIsCentral false グローバルな不正利用フィルターが保存されるウィキに対してこの変数を true にセット(グローバルフィルターを利用している場合)。
$wgAbuseFilterDisallowGlobalLocalBlocks false Centralised フィルターを無効にする。ローカルのブロック、グループから除外、許可の巻き戻しができなくなる。
$wgAbuseFilterBlockDuration 'indefinite' 不正利用フィルターによりブロックされた場合の持続期間。
バージョン 1.31.0-wmf.25 からはフィルタ毎に指定したブロック持続期間が優先適用されます。 この変数の利用は、あらかじめ設定した期間限定でブロックを発動する場合に限定されます。
$wgAbuseFilterAnonBlockDuration null 簡単に言えば、 $wgAbuseFilterBlockDuration の匿名利用者版。これが設定されていない場合、 $wgAbuseFilterBlockDuration の値が優先される。
バージョン 1.31.0-wmf.25 からはフィルタ毎に指定したブロック持続期間が優先適用されます。 この変数の利用は、あらかじめ設定した期間限定でブロックを発動する場合に限定されます。
$wgAbuseFilterCustomActionsHandlers array() 特定のアクションのコールバック機能。
$wgAbuseFilterDefaultWarningMessage array( 'default' => 'abusefilter-warning' ) フィルター単位の既定の警告メッセージ群
$wgAbuseFilterLogIPMaxAge 3 * 30 * 24 * 3600 IPアドレスログの保持期間。標準設定では3ヶ月(90日)となっている。メンテナンススクリプト「purgeOldLogIPData.php」がこの変数を利用する。
$wgAbuseFilterProfileActionsCap 10000 プロファイリング統計のリセット基準となるアクション件数


API

不正利用フィルターは2つのAPIリストモジュールを作成します。一つは不正利用フィルター ("abusefilters") 、もう一つは不正利用ログの詳細情報です。これらは他の MediaWiki のログ ("abuselog") からは分離されているので、 API を使用しての不正利用フィルターの作成や修正はできません。

list = abusefilters

以下にフィルターについての情報を提示しています。

Parameters
  • abfstartid: 列挙を開始するフィルタID
  • abfendid: 列挙を停止するフィルタID
  • abfdir: 列挙する方向(古い順、新しい順)
  • abfshow: これらの基準を満たすフィルタのみ表示(enabled|!enabled|deleted|!deleted|private|!private)
  • abflimit: リストするフィルタの上限
  • abfprop: 取得するプロパティ (id|description|pattern|actions|hits|comments|lasteditor|lastedittime|status|private)

フィルターの提供時に abfprop で指定したプロパティの一部は適切な利用者権限がない限り検出されません。

非公開以外の不正利用フィルターを列挙

list = abuselog

不正利用フィルターで作動するインスタンスの一覧。

Parameters
  • aflstart: 列挙を開始するタイムスタンプ
  • aflend: 列挙を停止するタイムスタンプ
  • afldir: 列挙する方向 (古い順、新しい順)
  • afluser: 特定のユーザーもしくはIP アドレスが試行したエントリに限定。
  • afltitle: アクションが特定のページに関するエントリのみ表示。
  • aflfilter: 特定のフィルタIDを起動したエントリのみ表示
  • afllimit: リストするエントリの上限
  • aflprop: 取得するプロパティ(ids|user|title|action|result|timestamp|details)

利用者 "SineBot" からのアクションに対応して不正利用フィルターが作動したインスタンスの一覧を表示する

Possible errors

  • Some users might experience that creating new filters or modifying old filters fail and the user just gets redirected to the original page. If the Wiki is using SSL certificates, this error could possibly be because of the $wgServer value, which might be using "http://" instead of "https://". An indication of this error will be, the browser giving https warning for Special:AbuseFilter pages. (Topic:T23dyyih0ofjada5)

関連項目