Extensión: AbuseFilter

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Extension:AbuseFilter and the translation is 82% complete.

Other languages:
Deutsch • ‎English • ‎català • ‎dansk • ‎español • ‎français • ‎galego • ‎italiano • ‎polski • ‎português • ‎português do Brasil • ‎sicilianu • ‎suomi • ‎yue • ‎čeština • ‎български • ‎русский • ‎עברית • ‎العربية • ‎سنڌي • ‎فارسی • ‎中文 • ‎日本語 • ‎한국어
MediaWiki extensions manual
Crystal Clear action run.svg
AbuseFilter
Release status: estable
AbuseFilter-Management.png
Implementación User activity, Special page, API
Descripción Permite establecer restricciones específicas basadas en determinadas actividades detectadas en un wiki.
Autor(es)
Política de compatibilidad release branches
MediaWiki 1.25+
PHP Se recomienda 5.4+
Cambios de la base de datos
Tablas abuse_filter
abuse_filter_action
abuse_filter_history
abuse_filter_log
Licencia GNU General Public License 2.0 or later
Descarga
Parámetros
  • $wgAbuseFilterActions
  • $wgAbuseFilterConditionLimit
  • $wgAbuseFilterEmergencyDisableThreshold
  • $wgAbuseFilterEmergencyDisableCount
  • $wgAbuseFilterEmergencyDisableAge
  • $wgAbuseFilterParserClass
  • $wgAbuseFilterRestrictions
  • $wgAbuseFilterNotifications
  • $wgAbuseFilterNotificationsPrivate
  • $wgAbuseFilterCentralDB
  • $wgAbuseFilterIsCentral
  • $wgAbuseFilterDisallowGlobalLocalBlocks
  • $wgAbuseFilterBlockDuration
  • $wgAbuseFilterAnonBlockDuration
  • $wgAbuseFilterCustomActionsHandler
  • $wgAbuseFilterValidGroups
  • $wgAbuseFilterDefaultWarningMessage
  • $wgAbuseFilterIPMaxAge
  • $wgAbuseFilterProfile
  • $wgAbuseFilterRuntimeProfile
  • $wgAbuseFilterProfileActionsCap
Derechos añadidos
  • 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
Hooks que usa
EditFilterMerged
GetAutoPromoteGroups
AbortMove
MovePageCheckPermissions
ArticleDelete
RecentChange_save
ListDefinedTags
ChangeTagsListActive
LoadExtensionSchemaUpdates
ContributionsToolLinks
UploadVerifyFile
UploadVerifyUpload
UploadStashFile
MakeGlobalVariablesScript
PageContentSaveComplete
UserMergeAccountFields
ParserOutputStashForEdit
Translate the AbuseFilter extension if it is available at translatewiki.net
Verificar uso y versión de la matriz.
Asuntos Tareas abiertas · Reportar un bug

La extensión AbuseFilter permite a los usuarios que dispongan de los permisos correspondientes establecer acciones específicas que deberán llevarse a cabo cuando un usuario realice una acción, por ejemplo, una edición, que coincida con determinados criterios. Por ejemplo, podría crearse un filtro para evitar que usuarios anónimos añadan enlaces externos, o para bloquear automáticamente a un usuario que borre más de 2000 caracteres de una página.

Requisitos

There are no required dependencies for this extension.

Instalación

  • Descarga y extrae los archivos en el directorio «AbuseFilter» dentro del directorio extensions/ existente.
  • Ejecuta Composer para instalar las dependencias de PHP usando composer install en el directorio de la extensión. (ver T173141 para complicaciones potenciales)
  • Añade el siguiente código a tu LocalSettings.php (preferiblemente al final):
    wfLoadExtension( 'AbuseFilter' );
    
  • Ejecuta el script de actualización, que creará automáticamente las tablas que necesita esta extensión en la base de datos.
  • Yes Listo – Navega a Special:Version en tu wiki para verificar que la apariencia se haya instalado correctamente.

Para quienes usan MediaWiki 1.26 o versiones anteriores:

Estas instrucciones describen la nueva forma de instalar extensiones usando wfLoadExtension(). Si necesitas instalar esta extensión en versiones anteriores (MediaWiki 1.26 y anteriores), debes usar lo siguiente en lugar de wfLoadExtension( 'AbuseFilter' );:

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


Permisos de usuario

Una vez instalada la extensión, tendrás que configurar los permisos de usuario en LocalSettings.php.

Permiso Descripción
abusefilter-modify Modificar filtros antiabusos
abusefilter-view Ver filtros antiabusos
abusefilter-log Ver el registro del filtro antiabusos
abusefilter-log-detail Ver entradas del registro detalladas del filtro antiabusos
abusefilter-private Ver datos privados en el registro del filtro antiabusos
abusefilter-modify-restricted Modificar filtros antiabusos con acciones restringidas
abusefilter-modify-global Crear o modificar filtros antiabusos globales.
abusefilter-revert Revertir todos los cambios realizados por un determinado filtro antiabusos
abusefilter-view-private Ver filtros antiabusos marcados como privados
abusefilter-log-private Ver las entradas del registro de filtros antiabusos marcadas como privadas
abusefilter-hide-log Ocultar entradas en el registro del filtro antiabusos
abusefilter-hidden-log Ver entradas ocultas en el registro del filtro antiabusos
abusefilter-private-log Ver el registro de acceso a datos privados del filtro antiabusos

Por ejemplo, la siguiente configuración permitiría a los administradores hacer todo lo que quieran con AbuseFilter, y a todo el mundo ver el registro y la configuración de los filtros:

$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;
Los filtros marcados como privados sólo pueden ser vistos por los usuarios que cuenten con los permisos abusefilter-modify o abusefilter-view-private.

Creating and managing filters

Una vez instalada la extensión, los filtros pueden ser creados/probados/cambiados/borrados y se puede acceder a los registros desde la página administrativa especial que añade la extensión: Especial:FiltroAntiAbusos.

Configuración

Nombre de variable Valor predeterminado Descripción
$wgAbuseFilterActions array( 'flag' => true, 'throttle' => true, 'warn' => true, 'disallow' => true, 'blockautopromote' => true, 'block' => true, 'rangeblock' => false, 'degroup' => true, 'tag' => true ) Las posibles acciones que pueden realizar los filtros antiabusos. When adding a new action, check if it is restricted in $wgAbuseFilterRestrictions and, if it is, don't forget to add the abusefilter-modify-restricted right to the appropriate user groups.
$wgAbuseFilterConditionLimit 1000 El número máximo de 'condiciones' que se pueden usar cada vez que los filtros se aplican por haber habido un cambio. Los filtros más complejos necesitan más 'condiciones'.
$wgAbuseFilterValidGroups 'default' La lista de «grupos» en los que se pueden dividir los filtros. Por defecto, hay un solo grupo.
$wgAbuseFilterEmergencyDisableThreshold array( 'default' => 0.05 ) Desactivar un filtro si ha coincidido con más de 2 ediciones, constituyendo más del 5% de las acciones que fueron cotejadas con el grupo al que pertenece ese filtro durante el período "observado" (como mucho, un día), salvo que el filtro se haya cambiado en los últimos 86400 segundos (un día).
$wgAbuseFilterEmergencyDisableCount array( 'default' => 2 )
$wgAbuseFilterEmergencyDisableAge array( 'default' => 86400 )
$wgAbuseFilterParserClass 'AbuseFilterParser' Nombre de la clase de analizador de AbuseFilter.
$wgAbuseFilterRestrictions array( 'block' => true, 'degroup' => true, 'blockautopromote' => true, 'rangeblock' => true ) Los usuarios deberán contar con los permisos "abusefilter-modify-restricted" y "abusefilter-modify" para poder crear o modificar los filtros que llevan a cabo estas acciones.
$wgAbuseFilterNotifications false Permite configurar la extensión para enviar notificaciones de coincidencias a Especial:CambiosRecientes o a UDP. Opciones disponibles: rc, udp, rcandudp
$wgAbuseFilterNotificationsPrivate false Activar notificaciones para filtros privados.
$wgAbuseFilterCentralDB null Nombre de una base de datos donde se guardarán los filtros globales antiabuso (esto sólo está soportado en la última versión, en desarrollo).
$wgAbuseFilterIsCentral false Pon esta variable a TRUE para el wiki donde se guardan los filtros antiabuso globales (esto sólo está soportado en la última versión, en desarrollo).
$wgAbuseFilterDisallowGlobalLocalBlocks false No permitir que los filtros centralizados realicen accciones que bloqueen, que eliminen usuarios de un grupo, o que revoquen permisos de forma local.
$wgAbuseFilterBlockDuration 'indefinite' Duración de los bloqueos instaurados por AbuseFilter.
as of 1.31.0-wmf.25 block durations may be specified for every single filter and will override this variable. This variable is only used when enabling the block in order to preselect a default duration.
$wgAbuseFilterAnonBlockDuration null Duración de los bloqueos instaurados por AbuseFilter para usuarios anónimos. Si no se indica un valor, se usará el valor de $wgAbuseFilterBlockDuration.
as of 1.31.0-wmf.25 block durations may be specified for every single filter and will override this variable. This variable is only used when enabling the block in order to preselect a default duration.
$wgAbuseFilterCustomActionsHandlers array() Funciones de llamada de vuelta para acciones personalizadas.
$wgAbuseFilterValidGroups array('default') "Grupos de filtros" válidos; se usa para aplicar filtros de edición a ciertos tipos de acciones.
$wgAbuseFilterDefaultWarningMessage array( 'default' => 'abusefilter-warning' ) Mensajes de aviso predeterminados, por grupo de filtros.
$wgAbuseFilterLogIPMaxAge 3 * 30 * 24 * 3600 Tiempo durante el que pueden alargarse los registros antes de eliminar vieja información de registros de IP. De forma predeterminada son 3 meses. El script de mantenimiento purgeOldLogIPData.php usa este valor.
$wgAbuseFilterProfile false
Versión de MediaWiki: 1.27

Whether to record data about the performance of filters – the average number of conditions used and the time consumed by every filter.

(This was always enabled in MediaWiki up to 1.25, then entirely removed from 1.26 for performance reasons, then restored in 1.27.)

$wgAbuseFilterRuntimeProfile false Whether to calculate and record the total runtime, conditions, and matched filters on each execution.
$wgAbuseFilterProfileActionsCap 10000 Number of action that determines when to reset profiling stats.


API

AbuseFilter añade dos módulos de lista a la API: uno con los detalles de los filtros antiabuso ("abusefilters"), y otro con el registro de abusos, ya que es independiente de otros registros de MediaWiki ("abuselog"). No es posible crear o modificar los filtros antiabusos usando la API.

list = abusefilters

Listar información acerca de los filtros.

Parámetros
  • abfstartid: El ID del filtro desde el que empezar a enumerar
  • abfendid: El ID del filtro con el que concluir la enumeración
  • abfdir: La dirección en la que enumerar (older, newer)
  • abfshow: Mostrar sólo los filtros que cumplan con estos criterios (enabled|!enabled|deleted|!deleted|private|!private)
  • abflimit: El número máximo de filtros a listar
  • abfprop: Propiedades a obtener (id|description|pattern|actions|hits|comments|lasteditor|lastedittime|status|private)

Cuando los filtros sean privados, algunas de las propiedades especificadas con abfprop faltarán, a menos que dispongas de los permisos de usuario adecuados.

Ejemplos

Para listar los filtros antiabuso no privados:

list = abuselog

Listar los casos en los que las acciones hicieron saltar un filtro antiabuso.

Parámetros
  • aflstart: Fecha y hora desde la que empezar a enumerar
  • aflend: Fecha y hora en la que detener la enumeración
  • afldir: En qué dirección enumerar (older, newer)
  • afluser: Mostrar sólo los registros donde la acción fue intentada por un determinado usuario o dirección IP
  • afltitle: Mostrar sólo los registros donde se veía afectada una página en concreto
  • aflfilter: Mostrar sólo los registros que hicieron saltar un determinado ID de filtro
  • afllimit: Número máximo de registros a listar
  • aflprop: Qué propiedades obtener (ids|user|title|action|result|timestamp|details)
Ejemplo

Para listar los casos donde los filtros saltaron en respuesta a las acciones del 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éase también