Open main menu

Extensión:AbuseFilter

This page is a translated version of the page Extension:AbuseFilter and the translation is 53% complete.
Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎Türkçe • ‎català • ‎dansk • ‎español • ‎français • ‎galego • ‎magyar • ‎polski • ‎português • ‎português do Brasil • ‎română • ‎sicilianu • ‎čeština • ‎български • ‎русский • ‎עברית • ‎سنڌي • ‎فارسی • ‎हिन्दी • ‎中文 • ‎日本語 • ‎粵語 • ‎한국어
Manual das extensións de MediaWiki
OOjs UI icon advanced.svg
AbuseFilter
Estado de liberación: estable
AbuseFilter-Management.png
Funcionamento User activity , Special page , API
Descrición Permite poñer restriccións específicas baseadas no comportamento sobre unha actividade wiki.
Autor(es)
Compatibility policy release branches
MediaWiki 1.33+
PHP 5.4+ Recomendou
Cambios na base de datos Si
Táboas abuse_filter
abuse_filter_action
abuse_filter_history
abuse_filter_log
Licenza GNU General Public License 2.0 or later
Descarga
  • $wgAbuseFilterActions
  • $wgAbuseFilterConditionLimit
  • $wgAbuseFilterEmergencyDisableThreshold
  • $wgAbuseFilterEmergencyDisableCount
  • $wgAbuseFilterEmergencyDisableAge
  • $wgAbuseFilterParserClass
  • $wgAbuseFilterRestrictions
  • $wgAbuseFilterNotifications
  • $wgAbuseFilterNotificationsPrivate
  • $wgAbuseFilterCentralDB
  • $wgAbuseFilterIsCentral
  • $wgAbuseFilterDisallowGlobalLocalBlocks
  • $wgAbuseFilterBlockDuration
  • $wgAbuseFilterAnonBlockDuration
  • $wgAbuseFilterCustomActionsHandler
  • $wgAbuseFilterValidGroups
  • $wgAbuseFilterDefaultWarningMessage
  • $wgAbuseFilterIPMaxAge
  • $wgAbuseFilterProfileActionsCap
  • $wgAbuseFilterLogPrivateDetailsAccess
  • $wgAbuseFilterPrivateDetailsForceReason
  • abusefilter-view
  • abusefilter-log
  • abusefilter-log-detail
  • abusefilter-revert
  • abusefilter-privatedetails
  • abusefilter-privatedetails-log
  • abusefilter-view-private
  • abusefilter-log-private
  • abusefilter-hidden-log
  • abusefilter-hide-log
  • abusefilter-modify
  • abusefilter-modify-restricted
  • abusefilter-modify-global
Traduza a extensión AbuseFilter se está dispoñible en translatewiki.net
Verificar o uso e a versión matriz.
Problemas Tarefas pendentes · Informar dun erro

O AbuseFilter a extensión deixa privileged usuarios para pór accións específicas para ser tomado cando accións por usuarios, como edita, partido criterios seguros.

Por exemplo, un filtro podería ser creado para evitar usuarios anónimos desde engadir ligazóns externas, ou para bloquear un usuario que tira máis que 2000 caracteres.

Instalación

  • Descargue e extraia os ficheiros nun directorio chamado «AbuseFilter», dentro do seu cartafol extensions/.
  • Only when installing from git run Composer to install PHP dependencies, by issuing composer install --no-dev in the extension directory. (See T173141 for potential complications.)
  • Engada o seguinte código ó seu LocalSettings.php:
    wfLoadExtension( 'AbuseFilter' );
    
  • Execute a escritura de actualización, que creará automaticamente as táboas da base de datos que necesita esta extensión.
  • Configure as required.
  •   Feito – Vaia a Special:Version no seu wiki para verificar que a extensión se instalou correctamente.

Para os usuarios que empreguen MediaWiki 1.26 ou versións anteriores:

Estas instrucións describen a nova forma de instalar extensións a partir de MediaWiki 1.25, usando wfLoadExtension().

Se precisa instalar esta extensión en versións anteriores, debe usar o seguinte en lugar de wfLoadExtension( 'AbuseFilter' );:

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

Configuración

Dereitos do usuario

Unha vez instalada a extensión, terá que configurar os dereitos de usuario en "LocalSettings.php".

Dereitos Descrición
abusefilter-modify Modificar os filtros de abusos
abusefilter-view Ver os filtros de abusos
abusefilter-log Ver o rexistro de abusos
abusefilter-log-detail Ver os detalles das entradas do rexistro de abusos
abusefilter-privatedetails Ver os datos privados no rexistro de abusos
abusefilter-modify-restricted Modificar os filtros de abusos con accións restrinxidas
abusefilter-modify-global Crear ou modificar os filtros de abusos globais
abusefilter-revert Reverter todos os cambios dun filtro de abusos dado
abusefilter-view-private Ver os filtros de abusos marcados como privados
abusefilter-log-private Ver as entradas no rexistro dos filtros de abusos marcados como privados
abusefilter-hide-log Agochar entradas no rexistro de abusos
abusefilter-hidden-log Ver as entradas agochadas do rexistro de abusos
abusefilter-privatedetails-log Ver o rexistro de consulta dos detalles privados do filtro de abusos

Por exemplo, a seguinte configuración de exemplo permitiría ós administradores facer todo o que quixeran co AbuseFilter, e a todos ver o rexistro e a configuración pública do filtro:

$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;
Os filtros marcados como privados só poden ser vistos polos usuarios co permiso abusefilter-modify ou o abusefilter-view-private.

Parameters

Nome da variable Valor predeterminado Descrición
$wgAbuseFilterActions
[
    'throttle' => true,
    'warn' => true,
    'disallow' => true,
    'blockautopromote' => true,
    'block' => true,
    'rangeblock' => false,
    'degroup' => true,
    'tag' => true
]
As posibles accións que se poden facer cos filtros antiabusos Cando engadindo unha acción nova, control se é restrinxido en $wgAbuseFilterRestrictions e, se é, non esquece para engadir o abusefilter-modificar-restrinxido correcto aos grupos de usuario apropiados.
$wgAbuseFilterConditionLimit
1000
Número máximo de 'condicións' que se pode utilizar cada vez que os filtros se executan contra un cambio. (Filtros máis complexos requiren máis 'condicións').
$wgAbuseFilterValidGroups
[
    'default'
]
A lista de "filtros" de grupos pode ser dividida a. Por default hai só un agrupa. Other extensions may add other groups.
$wgAbuseFilterEmergencyDisableThreshold
[
    'default' => 0.05
]
Desactivar un filtro se coincide con máis de dúas edicións, constituíndo máis do 5% das accións que foron verificadas contra o grupo de filtros no período "observado" (como moito, un día), a non ser que o filtro fose cambiado nos últimos 86400 segundos (un día) See emergency throttling.
$wgAbuseFilterEmergencyDisableCount
[
    'default' => 2
]
$wgAbuseFilterEmergencyDisableAge
[
    'default' => 86400
]
$wgAbuseFilterParserClass
'AbuseFilterParser'
Nombre da clase do analizador do filtro antiabuso
$wgAbuseFilterRestrictions
[
    'block' => true,
    'degroup' => true,
    'blockautopromote' => true,
    'rangeblock' => true
]
Os usuarios deben ter o dereito "abusefilter-modify-restricted" (abusefilter-modificar rextrinxido) e o "abusefilter-modify" (abusefilter-modificar) para poder crear ou cambiar os filtros que realizan esas accións
$wgAbuseFilterNotifications
false
Permite configurar a extensión para enviar notificacións a Special:RecentChanges ou UDP. Opcións dispoñibles: rc, udp, rcandudp
$wgAbuseFilterNotificationsPrivate
false
Permitir notificacións para filtros privados.
$wgAbuseFilterCentralDB
null
Nome da base de datos onde se almacenarán os filtros globais antiabuso (soportado só na última versión de desenrolo).
$wgAbuseFilterIsCentral
false
Establecer esta variable como verdadeira para a wiki onde se almacenan os filtros globais antiabuso (soportado só na última versión de desenrolo)
$wgAbuseFilterDisallowGlobalLocalBlocks
false
Non permitir filtros centralizados que realicen accións que bloqueen localmente, quite de grupos ou elimine permisos.
$wgAbuseFilterBlockDuration
'indefinite'
Duración dos bloqueos feitos polo filtro antiabuso
Cando de 1.31.0-wmf.25 duracións de bloque poden ser especificadas para cada filtro só e override esta variábel. Esta variábel é só utilizado cando habilitando o bloque para preselect un default duración.
$wgAbuseFilterAnonBlockDuration
null
A duración dos bloqueos creados polo AbuseFilter para usuarios anónimos. Usarase o valor de $wgAbuseFilterBlockDuration se non se establece.
Cando de 1.31.0-wmf.25 duracións de bloque poden ser especificadas para cada filtro só e override esta variábel. Esta variábel é só utilizado cando habilitando o bloque para preselect un default duración.
$wgAbuseFilterCustomActionsHandlers
[ ]
Funcións de rechamada para accións personalizadas.
$wgAbuseFilterDefaultWarningMessage
[
    'default' => 'abusefilter-warning'
]
Mensaxes de aviso por defecto, por grupo de filtros
$wgAbuseFilterLogIPMaxAge
3 * 30 * 24 * 3600
Idade usada como corte cando se purga o rexistro de direccións IP vellas. Por defecto é de 3 meses. Usado polo script de mantenemento purgeOldLogIPData.php.
$wgAbuseFilterProfileActionsCap
10000
Número de acción que determina cando a reset profiling stats.
$wgAbuseFilterLogPrivateDetailsAccess
false
Whether accessing private information from a filter log entry is logged.
$wgAbuseFilterPrivateDetailsForceReason
false
Whether users are forced to provide a reason for accessing private information from a filter log entry.

Emergency throttling

AbuseFilter comes with a feature that automatically throttles (disable) filters that have been edited recently and match a certain theresold of the latest actions.

This is done to prevent harmful edits on the filters to block every user that performs an action on the wiki or similar.

The condition to disable the filter depend on those variables:

  • $wgAbuseFilterEmergencyDisableThreshold - Percent of matches over the total amount of actions in the observed period.
  • $wgAbuseFilterEmergencyDisableCount - Count of matches of the filter in the observed period.
  • $wgAbuseFilterEmergencyDisableAge - Age of the filter to take it into account. If the last edit of the filter is older than this number of seconds, the filter won't be throttled, unless it's already throttled.
  • $wgAbuseFilterProfileActionsCap - Maximum number of recent actions to count against the threshold. Note that each action increments a counter, and once this counter reaches this configured value, this counter and the number of recent actions that matches all filters are reset to 0.

Throttled filters can be identified in the list of filters (Special:AbuseFilter) with the state Enabled, throttled. Throttling happens silently, and there's no way to see when a filter got throttled.

When a filter gets throttled, it doesn't perform any dangerous action (the ones specified in $wgAbuseFilterRestrictions), and only "safe" actions are allowed. Throttled filters don't get enabled automatically. To disable the throttling, you need to edit the filter. Note that you need to actually change something from the filter: changing somethin from the filter's notes is sufficient.

Note that editing the filter updates its age, and can cause it to be disabled if it reaches again the conditions to be throttled in a short period since the last edit, leading to a unusable filter if your wiki has more abuse edits than legitimate ones. Filters can also get randomly throttled if the action count reaches $wgAbuseFilterProfileActionsCap, causing all filter matches count to reset to 0, and then someone repeatedly makes a filter to hit.

Creando e xestionando filtros

Unha vez instalada a extensión, os filtros poden ser creados/probados/cambiados/borrados e pode accederse ós rexistros desde a páxina de xestión de filtros de abuso Special:AbuseFilter.

API

O filtro antiabuso engade dous módulos API, un para detalles dos filtros antiabuso ("abuseFilter") e outro para o rexistro de abuso, posto que é independiente doutros rexistros MediaWiki ("AbuseLog"). Non é posible crear ou modificar os filtros antiabusos usando a API.

list = abusefilters

Lista de información sobre os filtros

;Parámetros
  • abfstartid: O identificador de filtro desde onde iniciar a enumeración
  • abfendid: O identificador de filtro onde deter a enumeración
  • abfdir: A dirección na que se enumera (máis vello, máis novos)
  • abfshow: Mostrar só os filtros que cumpran con este criterio (habilitado|!habilitado|borrado|!borrado|privado|!privado)
  • abflimit: Número máximo de filtros a listar
  • abfprop: Propiedades mostrar (id|descrición|patrón|accións|hits|comentarios|último editor|data da última modificación|estado|privado):
  • abfstartid - The filter id to start enumerating from
  • abfendid - The filter id to stop enumerating at
  • abfdir - The direction in which to enumerate (older, newer)
  • abfshow - Show only filters which meet these criteria (enabled|!enabled|deleted|!deleted|private|!private)
  • abflimit - The maximum number of filters to list
  • abfprop - Which properties to get (id|description|pattern|actions|hits|comments|lasteditor|lastedittime|status|private)

Cando os filtros son privados, algunha sdas propiedades especificadas con abfprop faltarán a menos que vostede teña os dereitos de usuario axeitados.

;Exemplos

Lista de filtros antiabuso non-privados

list = abuselog

Lista de casos onde as accións activan un filtro abuso

;Parámetros
  • aflstart: A data e hora dende onde comezar a enumeración
  • aflend: A data e hora dende onde rematar a enumeración
  • afldir: A dirección na que se enumera (máis vellos, máis novos)
  • afluser: Mostrar só as entradas onde se intentou a acción por un determinado usuario ou a través da súa IP.
  • afltitle: Mostrar só as entradas onde as accións involucran unha páxina dada.
  • aflfilter: Mostrar só as entradas que activan un filtro cun ID dado
  • afllimit: Número máximo de entradas a listar
  • aflprop: Propiedades mostrar(ids|usuario|título|acción|resultado|data e hora|detalles):
  • aflstart - The timestamp to start enumerating from
  • aflend - The timestamp to stop enumerating at
  • afldir - The direction in which to enumerate (older, newer)
  • afluser - Show only entries where the action was attempted by a given user or IP address.
  • afltitle - Show only entries where the action involved a given page.
  • aflfilter - Show only entries that triggered a given filter ID
  • afllimit - The maximum number of entries to list
  • aflprop - Which properties to get (ids|user|title|action|result|timestamp|details)
;Exemplo

Lista de casos onde se activou o filtro antiabusos en resposta a accións do usuario "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)

Véxase tamén