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 88% complete.

Other languages:
العربية • ‎български • ‎català • ‎čeština • ‎dansk • ‎Deutsch • ‎English • ‎español • ‎فارسی • ‎suomi • ‎français • ‎galego • ‎עברית • ‎italiano • ‎日本語 • ‎한국어 • ‎polski • ‎português • ‎português do Brasil • ‎русский • ‎sicilianu • ‎سنڌي • ‎粵語 • ‎中文
MediaWiki extensions manualManual:Extensions
Crystal Clear action run.svg
AbuseFilter

Release status:Extension status estable

AbuseFilter-Management.png
ImplementaciónTemplate:Extension#type User activity, Special page, API
DescripciónTemplate:Extension#description Permite establecer restricciones específicas basadas en determinadas actividades detectadas en un wiki.
Autor(es)Template:Extension#username
Política de compatibilidadCompatibility#mediawiki_extensions release branches
MediaWikiTemplate:Extension#mediawiki 1.25+
PHPTemplate:Extension#php Se recomienda 5.4+
Cambios de la base de datosTemplate:Extension#needs-updatephp
TablasTemplate:Extension#table1 abuse_filterExtension:AbuseFilter/abuse_filter table
abuse_filter_actionExtension:AbuseFilter/abuse_filter_action table
abuse_filter_historyExtension:AbuseFilter/abuse_filter_history table
abuse_filter_logExtension:AbuseFilter/abuse_filter_log table
LicenciaTemplate:Extension#license GNU General Public License 2.0 or later
Descarga
ParámetrosTemplate:Extension#parameters
  • $wgAbuseFilterActions
  • $wgAbuseFilterConditionLimit
  • $wgAbuseFilterEmergencyDisableThreshold
  • $wgAbuseFilterEmergencyDisableCount
  • $wgAbuseFilterEmergencyDisableAge
  • $wgAbuseFilterParserClass
  • $wgAbuseFilterRestrictions
  • $wgAbuseFilterNotifications
  • $wgAbuseFilterNotificationsPrivate
  • $wgAbuseFilterCentralDB
  • $wgAbuseFilterIsCentral
  • $wgAbuseFilterDisallowGlobalLocalBlocks
  • $wgAbuseFilterBlockDuration
  • $wgAbuseFilterAnonBlockDuration
  • $wgAbuseFilterCustomActionsHandler
  • $wgAbuseFilterValidGroups
  • $wgAbuseFilterDefaultWarningMessage
  • $wgAbuseFilterIPMaxAge
  • $wgAbuseFilterProfile
  • $wgAbuseFilterRuntimeProfile
  • $wgAbuseFilterProfileActionsCap
Derechos añadidosTemplate:Extension#rights
  • 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 usaTemplate:Extension#hook
EditFilterMergedManual:Hooks/EditFilterMerged
GetAutoPromoteGroupsManual:Hooks/GetAutoPromoteGroups
AbortMoveManual:Hooks/AbortMove
MovePageCheckPermissionsManual:Hooks/MovePageCheckPermissions
ArticleDeleteManual:Hooks/ArticleDelete
RecentChange_saveManual:Hooks/RecentChange_save
ListDefinedTagsManual:Hooks/ListDefinedTags
ChangeTagsListActiveManual:Hooks/ChangeTagsListActive
LoadExtensionSchemaUpdatesManual:Hooks/LoadExtensionSchemaUpdates
ContributionsToolLinksManual:Hooks/ContributionsToolLinks
UploadVerifyFileManual:Hooks/UploadVerifyFile
UploadVerifyUploadManual:Hooks/UploadVerifyUpload
UploadStashFileManual:Hooks/UploadStashFile
MakeGlobalVariablesScriptManual:Hooks/MakeGlobalVariablesScript
PageContentSaveCompleteManual:Hooks/PageContentSaveComplete
UserMergeAccountFieldsManual:Hooks/UserMergeAccountFields
ParserOutputStashForEditManual:Hooks/ParserOutputStashForEdit

Translate the AbuseFilter extension if it is available at translatewiki.net

Verificar uso y versión de la matriz.

AsuntosPhabricator

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

Esta extensión no necesita nada especial, pero se recomienda instalar la extensión AntiSpoof para utilizar funciones de normalización de cadenas.

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.
  • YesY 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.
$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.

Nota Nota: as of 1.31.0-wmf.25 block durations may be specified for every single filter and will override this variable.

$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.

Nota Nota: as of 1.31.0-wmf.25 block durations may be specified for every single filter and will override this variable.

$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