Extensão:Filtro de abusos

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

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

Estado da versão:Extension status estável

AbuseFilter-Management.png
ImplementaçãoTemplate:Extension#type User activity, Special page, API
DescriçãoTemplate:Extension#description Permite inserir restrições baseadas em comportamentos específicos na atividade wiki.
Autor(es)Template:Extension#username
Política de
compatibilidade
Compatibility#mediawiki_extensions
branches por lançamento
MediaWikiTemplate:Extension#mediawiki 1.25+
PHPTemplate:Extension#php 5.4+ recomendado
Modifica o banco
de dados
Template:Extension#needs-updatephp
Sim
TabelasTemplate: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
LicençaTemplate:Extension#license GNU General Public License 2.0 or later
Download
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
Direitos adicionadosTemplate: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 usadosTemplate: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

Traduzir a extensão AbuseFilter, se estiver disponível no translatewiki.net

Verificar uso e matriz de versões

ProblemasPhabricator

Tarefas em aberto · Relatar um bug

A extensão AbuseFilter permite que usuários com este privilégio definam ações específicas a serem tomadas quando usuários realizam ações, como edições, que correspondam a certos critérios. Por exemplo, um filtro poderia ser criado para evitar que usuários anônimos adicionassem ligações externas, ou para bloquear um usuários que remova mais de 2 000 caracteres.

Requisitos

Não é necessário instalar qualquer dependência para esta extensão, mas é recomendado instalar a extensão AntiSpoof para usar os recursos de normalização de strings.

Instalação

  • Baixe e coloque o(s) arquivo(s) num diretório chamado AbuseFilter na sua pasta extensions/.
  • Executar Composer para instalar dependências PHP, com a emissão de composer install no diretório de extensão. (Veja T173141 para possíveis complicações.)
  • Adicione o seguinte código ao final do seu arquivo LocalSettings.php:
    wfLoadExtension( 'AbuseFilter' );
    
  • Execute o script de atualização que criará automaticamente as tabelas de banco de dados necessárias a essa extensão.
  • YesY Pronto – Navegue à página Special:Version em sua wiki para verificar se a instalação da extensão foi bem sucedida.

Para usuários executando o MediaWiki 1.26 ou anteriores:

As instruções acima descrevem a nova forma de instalar essa extensão utilizando wfLoadExtension()

Se precisar instalar essa extensão em versões antigas (MediaWiki 1.26 e anteriores), em vez de wfLoadExtension( 'AbuseFilter' );, você precisa usar:

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


Direitos de usuário

Uma vez instalada a extensão, você terá de estabelecer os direitos de usuário no arquivo LocalSettings.php.

Direito Descrição
abusefilter-modify Modificar filtros de abusos
abusefilter-view Ver filtros de abusos
abusefilter-log Ver o registro de abusos
abusefilter-log-detail Ver entradas detalhadas do registro de abusos
abusefilter-private Ver dados privados no registro de abusos
abusefilter-modify-restricted Modificar filtros de abusos com ações restritas
abusefilter-modify-global Criar ou modificar filtros de abuso global
abusefilter-revert Reverter todas as modificações feitas por um dado filtro de abusos
abusefilter-view-private Ver filtros de abuso marcados como privados
abusefilter-log-private Ver registro de entrada do fitro de abusos marcados como privados
abusefilter-hide-log Ocultar entradas do filtro de abusos
abusefilter-hidden-log Ver entradas ocultadas do registro de abusos
abusefilter-private-log Veja o registro de acesso de detalhes privados no Filtro de abuso

Por exemplo, a configuração de exemplo a seguir permitiria sysops fazerem tudo o que quisessem com o AbuseFilter, e todo mundo visualizaria o registro e as configurações de filtro público:

$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;
Filtros marcados como privados só podem ser vistos por usuários com a permissão “abusefilter-modify” ou a permissão “abusefilter-view-private”.

Criando e gerenciando filtros

Uma vez que a extensão foi instalada, filtros podem ser criados/testados/alterados/excluídos e os registros podem ser acessados ​​a partir da página de gerenciamento do AbuseFilter Special:AbuseFilter.

Configuração

Nome da variável Valor padrão Descrição
$wgAbuseFilterActions array( 'flag' => true, 'throttle' => true, 'warn' => true, 'disallow' => true, 'blockautopromote' => true, 'block' => true, 'rangeblock' => false, 'degroup' => true, 'tag' => true ) As ações possíveis que podem ser realizadas pelos filtros de abuso.
$wgAbuseFilterConditionLimit 1000 O número máximo de 'condições' que pode ser usado cada vez que os filtros são aplicadas a uma alteração. (Filtros mais complexos requerem mais 'condições').
$wgAbuseFilterValidGroups 'default' A lista de filtros de "grupos" pode ser dividida. Por padrão, há apenas um grupo.
$wgAbuseFilterEmergencyDisableThreshold array( 'default' => 0.05 ) Desativar um filtro se corresponder a mais de 2 edições, constituindo mais de 5 % das ações que foram verificadas contra o grupo do filtro no período "observado" (no máximo um dia), a menos que o filtro tenha sido alterado nos últimos 86400 segundos (um dia)
$wgAbuseFilterEmergencyDisableCount array( 'default' => 2 )
$wgAbuseFilterEmergencyDisableAge array( 'default' => 86400 )
$wgAbuseFilterParserClass 'AbuseFilterParser' Nome da classe do analisador do AbuseFilter.
$wgAbuseFilterRestrictions array( 'block' => true, 'degroup' => true, 'blockautopromote' => true, 'rangeblock' => true ) Os usuários devem ter o direito de usuário "abusefilter-modify-restricted" bem como "abusefilter-modify" a fim de criar ou modificar os filtros que realizam essas ações.
$wgAbuseFilterNotifications false Permite configurar a extensão para enviar notificações de sucesso para Special:RecentChanges ou UDP. Opções disponíveis: rc, udp, rcandudp
$wgAbuseFilterNotificationsPrivate false Habilitar notificações para filtros privados.
$wgAbuseFilterCentralDB null Nome de um banco de dados onde os filtros de abuso globais serão armazenados (apenas suportado na última versão de desenvolvimento).
$wgAbuseFilterIsCentral false Defina esta variável como true para a wiki onde AbuseFilters globais são armazenados (suportado apenas na última versão em desenvolvimento).
$wgAbuseFilterDisallowGlobalLocalBlocks false Não permitir filtros centralizados de tomarem ações que bloqueiam localmente, remover de grupos ou revogar permissões.
$wgAbuseFilterBlockDuration 'indefinite' Duração dos blocos feita pelo 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 Duração de bloqueios feitos pelo AbuseFilter em usuários que não estão logados. O valor de $wgAbuseFilterBlockDuration será usado se ela não estiver definida.

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() Funções callback para ações customizadas.
$wgAbuseFilterValidGroups array('default') "Filtro de grupos" válidos - usados para aplicar filtros de edição em certos tipos de ações
$wgAbuseFilterDefaultWarningMessage array( 'default' => 'abusefilter-warning' ) Mensagens de aviso padrão, por filtro de grupo
$wgAbuseFilterLogIPMaxAge 3 * 30 * 24 * 3600 Idade utilizada como ponto de corte ao purgar dados de registro de IP antigos. Padrão para 3 meses. Usado pelo script de manutenção purgeOldLogIPData.php.
$wgAbuseFilterProfile false
Versão do MediaWiki: 1.27

Grava dados sobre o desempenho de filtros – o número médio de condições usadas e o tempo consumido por cada filtro.

(Isso sempre foi ativado no MediaWiki até 1.25, então totalmente removido de 1.26 por motivos de desempenho, depois restaurado em 1.27.)

$wgAbuseFilterRuntimeProfile false Seja para calcular e registrar o tempo de execução total, as condições e os filtros correspondentes em cada execução.
$wgAbuseFilterProfileActionsCap 10000 Number of action that determines when to reset profiling stats.


API

O AbuseFilter adiciona dois módulos de lista de API, uma para detalhes dos filtros de abuso ("abusefilters") e um para o registro de abusos, uma vez que este é separado de outros registros do MediaWiki ("abuselog"). Não é possível criar ou modificar filtros de abuso usando a API.

list = abusefilters

Lista informações sobre filtros

Parâmetros
  • abfstartid: O ID do filtro de onde inicia-se a enumeração
  • abfendid: O ID de filtro onde interrompe-se a enumeração
  • abfdir: A direção na qual enumerar (mais antigo, mais recente)
  • abfshow: Mostra apenas filtros que atendem a esses critérios (enabled|!enabled|deleted|!deleted|private|!private)
  • abflimit: O número máximo de filtros para listar
  • abfprop: Quais propriedades para se obter (id|description|pattern|actions|hits|comments|lasteditor|lastedittime|status|private)

Quando os filtros são private, algumas das propriedades especificadas com abfprop estarão ausentes, a menos que você tenha os direitos de usuário apropriados.

Exemplos

Lista filtros de abuso não-privados

list = abuselog

Lista casos em que as ações desencadearam um filtro de abuso.

Parâmetros
  • aflstart: O timestamp de onde se inicia a enumeração
  • aflend: O timestamp onde se para a enumeração
  • afldir: A direção na qual se realiza a enumeração (mais antigo, mais recente)
  • afluser: Mostra apenas as entradas onde a ação foi tentada por um determinado usuário ou endereço IP.
  • afltitle: Mostra apenas as entradas onde a ação envolveu uma determinada página.
  • aflfilter: Mostra apenas as entradas que desencadearam um determinado ID de filtro
  • afllimit: O número máximo de entradas para listar
  • aflprop: Quais propriedades a serem obtidas (ids|user|title|action|result|timestamp|details)
Exemplo

Lista de casos em que o filtro de abuso foi desencadeado em resposta às ações do usuário "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)

Ver também