Extension:AbuseFilter/pt-br

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.

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

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:

Supressão de emergência
O AbuseFilter vem com um recurso que suprime (desabilita) automaticamente os filtros que foram editados recentemente e correspondem a um determinado limite das ações mais recentes.

Isso é feito para evitar edições prejudiciais nos filtros para bloquear todos os usuários que executam uma ação em uma wiki ou semelhante.

A condição para desativar o filtro depende dessas variáveis:
 * - Porcentagem de correspondências sobre a quantidade total de ações no período observado.
 * - Quantidade de correspondências do filtro no período observado.
 * - Idade do filtro considerado. Se a última edição do filtro for anterior a esse número de segundos, o filtro não será regulado, a menos que já esteja regulado.
 * - Número máximo de ações recentes para contar em relação a esse limite. Observe que cada ação incrementa um contador e, quando esse contador atinge esse valor configurado, esse contador e o número de ações recentes que correspondem a todos os filtros são zerados.

Os filtros suprimidos podem ser identificados na lista de filtros (Especial:AbuseFilter) com o estado,. A supressão ocorre silenciosamente e não há como saber quando um filtro foi suprimido.

Quando um filtro é suprimido, ele não executa nenhuma ação perigosa (aquelas que podem impedir a ação em andamento) e apenas ações "seguras" são permitidas. Filtros suprimidos não são ativados automaticamente. Para desativar a supressão, você precisará editar o filtro. Observe que você realmente precisará mudar algo no filtro: algo como as notas do filtro será suficiente.

Observe que editar o filtro atualiza sua idade e pode fazer com que ele seja desativado se atingir novamente as condições para ser suprimido em um curto período desde a última edição, levando a um filtro inutilizável se sua wiki tiver mais edições de abuso do que legítimas. Os filtros também podem ser aleatoriamente suprimidos se a contagem de ações atingir, fazendo com que a contagem de todas as correspondências dos filtros sejam redefinidas para 0, e então alguém repetidamente faz um filtro atingir esse limiar.

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.


 * Formato das regras - Princípios de como desenvolver um filtro
 * Ações
 * Regras globais
 * Guia de otimização do uso limite de condições
 * Para importar filtros da Wikipédia: Após instalar a extensão, vá para pt:Especial:Filtro de abusos, escolha um filtro (p. ex. pt:Especial:Filtro de abusos/3) e clique em “Exportar este filtro para outra wiki”, copie o texto, vá para “Special:AbuseFilter/import” na sua wiki e cole o texto.
 * m:Small wiki toolkits/Starter kit/AbuseFilter - Um guia para pequenas comunidades wiki em metawiki

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:
 * - O ID do filtro de onde inicia-se a enumeração
 * - O ID de filtro onde interrompe-se a enumeração
 * - A direção na qual enumerar (mais antigo, mais recente)
 * - Mostra apenas filtros que atendem a esses critérios (enabled|!enabled|deleted|!deleted|private|!private)
 * - O número máximo de filtros para listar
 * - 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  estarão ausentes, a menos que você tenha os direitos de usuário apropriados.


 * Exemplos:

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


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


 * Exemplo:

Possíveis erros

 * Alguns usuários podem perceber que a criação de novos filtros ou a modificação de filtros antigos falham e o usuário é redirecionado para a página original. Se a Wiki estiver usando certificados SSL, este erro pode ser devido ao valor, que pode estar usando "http://" ao invés de "https://". Uma indicação desse erro será, o navegador dando um aviso https para a página Special:AbuseFilter. (Topic:T23dyyih0ofjada5)

Integração com outras extensões
Você pode integrar o filtro de abusos com outra extensão de várias maneiras.

Adicionando variáveis para filtragem
É possível adicionar novas variáveis, para serem utilizadas em filtros de abuso. Uma lista de exemplos. Para fazer isso, você deve:


 * Adicione um manipulador para o gancho . Para adicionar uma variável, você deve usar, onde   é o nome da variável e   é o fragmento de uma chave i18n. A chave completa será.
 * Adicione as mensagens i18n que você escolheu no ponto anterior.
 * Escolha um manipulador de gancho onde a variável será calculada. Dependendo do seu caso de uso, você pode:
 * Implemente o gancho ; isso é pensado especificamente para variáveis relacionadas à página;
 * Implemente o gancho ; isso é pensado especificamente para variáveis relacionadas ao usuário;
 * Implemente o gancho ; isso é para variáveis não vinculadas a uma página ou usuário específico;
 * Implemente o gancho ; isso é um pouco mais flexível do que os outros ganchos, mas tem uma desvantagem: sua variável não estará disponível ao examinar entradas anteriores de mudanças recentes. Se você quiser implementar esse recurso (e é recomendado fazer isso), você deve usar um dos ganchos listados acima e usar seu terceiro parâmetro.
 * Dentro do gerenciador de gancho, existem duas maneiras de adicionar uma variável:
 * A forma "direta" é chamar . Isso é ideal apenas quando o valor é fácil e rápido de calcular: o valor é calculado mesmo se nenhum filtro ativo o usar.
 * A maneira "preguiçosa" é chamar . Aqui, 'method_name' é um identificador (único) que será usado para calcular a variável (é recomendado prefixá-lo com o nome de sua extensão). Para registrar o método, você deve adicionar um manipulador para o gancho ; nele, você deve verificar se o $method passado corresponde ao seu 'nome_do_método' e, em caso afirmativo, calcular a variável. Por último, $params é uma matriz de parâmetros de que você precisará para calcular a variável; eles são passados para o manipulador de gancho computeVariable. Para obter um exemplo disso, você pode verificar o CentralAuth  ..

Adicionar ações personalizadas
Você pode adicionar manipuladores de ação personalizados, para que cada filtro possa executar outras ações. Para fazer isso, você escolhe um nome para a ação ('my-action' de agora em diante) e, em seguida:


 * Crie uma classe chamada, por exemplo MyAction, que deve estender \MediaWiki\Extension\AbuseFilter\Consequence, que também pode implementar HookAborterConsequence ou ConsequencesDisablerConsequence
 * Adicione um assinante ao gancho AbuseFilterCustomActions; o assinante deve fornecer um retorno de chamada, conforme documentado na documentação do gancho, que retorna uma instância da classe criada acima, por exemplo:

Então você deve adicionar as seguintes mensagens i18n; você pode substituir 'my_action' por, por exemplo, 'block' para ver para que servem as mensagens:



Adicionando grupos de regras
Você também pode adicionar grupos de regras extras, que podem ser usados para agrupar filtros de abuso existentes. Observe que, no momento, cada filtro só pode estar em um único grupo (T116642). Atualmente, o único consumidor conhecido desse recurso é Extension:StructuredDiscussions. Para fazer isso, você deve:


 * Anexe o nome do grupo a
 * Adicione algum código para executar os filtros com seu grupo. Observe que filtro de abusos não fará isso por conta própria. Para fazer isso, você deve construir um objeto, passando o nome do seu grupo.

Ver também

 * Várias wikis da WMF onde ela está habilitada (e com qual configuração)