Extension:AbuseFilter

The AbuseFilter extension allows privileged users to set specific actions to be taken when actions by users, such as edits, match certain criteria.

(e.g. A filter could be created so that when a user removes more than 2000 characters, they are blocked.)

Requirements
It's not needed to install any dependencies for this extension, but you still might want to install ext-AntiSpoof>Special:MyLanguage/Extension:AntiSpoof|Extension:AntiSpoof to use string normalization features.

User rights
Once you installed the extension, you'll have to set up the user rights in  .

For example, the following sample configuration would allow sysops to do everything they want with AbuseFilter, and everyone to view the log and see public filter settings:

Documentation and management
Once the extension has been installed, filters can be created/tested/changed/deleted and the logs can be accessed from the Abuse filter management page Special:AbuseFilter.


 * RulesFormat>Extension:AbuseFilter/Rules format|The rules format
 * Actions>Extension:AbuseFilter/Actions|Actions
 * Global>Extension:AbuseFilter/Global|Global Rules
 * Conditions>Extension:AbuseFilter/Conditions|Guide to optimizing condition limit usage
 * To Import filters from Wikipedia: When you have installed the extension, go to w:Special:AbuseFilter, choose a filter (say w:Special:AbuseFilter/3), then click "Export this filter to another wiki", copy the text, go to "Special:AbuseFilter/import" on your wiki, paste the text.

API
AbuseFilter adds two API list modules, one for details of abuse filters ("abusefilters") and one for the abuse log, since it is separate from other MediaWiki logs ("abuselog"). It is not possible to create or modify abuse filters using the API.

list = abusefilters
List information about filters


 * Parameters
 * : The filter id to start enumerating from
 * : The filter id to stop enumerating at
 * : The direction in which to enumerate (older, newer)
 * : Show only filters which meet these criteria (enabled|!enabled|deleted|!deleted|private|!private)
 * : The maximum number of filters to list
 * : Which properties to get (id|description|pattern|actions|hits|comments|lasteditor|lastedittime|status|private)

When filters are private, some of the properties specified with  will be missing unless you have the appropriate user rights.


 * Examples

list = abuselog
List instances where actions triggered an abuse filter.


 * Parameters
 * : The timestamp to start enumerating from
 * : The timestamp to stop enumerating at
 * : The direction in which to enumerate (older, newer)
 * : Show only entries where the action was attempted by a given user or IP address.
 * : Show only entries where the action involved a given page.
 * : Show only entries that triggered a given filter ID
 * : The maximum number of entries to list
 * : Which properties to get (ids|user|title|action|result|timestamp|details)


 * Example

Issues
To temporarily get around this, disable short URLs (by removing any rewrite rules or restoring $wgArticlePath etc.).
 * Presently (July, 2016), the extension might be experiencing problems with Short URLs, where creating new filters or modifying old filters fail and the user is redirected to the original page.