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:

Parameters
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 (as especificadas em ) 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.

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, causing all filter matches count to reset to 0, and then someone repeatedly makes a filter to hit.

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 - A guide for small wiki communities on 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:

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 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)

Integration with other extensions
You can integrate AbuseFilter with other extension in various ways.

Adding variables for filtering
It is possible to add new variables, to be used in abuse filters. A list of examples. To do that, you should:


 * Add a handler for the hook. To add a variable, you should use , where   is the name of the variable, and   is the fragment of an i18n key. The full key will be.
 * Add the i18n messages you chose at the previous point.
 * Choose a hook handler where the variable will be computed. Depending on your use case, you could:
 * Implement the hook; this is specifically thought for page-related variables;
 * Implement the hook; this is specifically thought for user-related variables;
 * Implement the hook; this is for variables not bound to a specific page or user;
 * Implement the hook; this is a bit more flexible than the other hooks, but it has a downside: your variable will not be available when examining past RecentChanges entries. If you want to implement that feature (and it's recommended to do so), you should use one of the hooks listed above, and use its third parameter.
 * Inside the hook handler, there are two ways to add a variable:
 * The "direct" way is calling . This is ideal only when the value is easy and quick to compute: the value is computed even if no active filter will use it.
 * The "lazy" way is calling . Here, 'method_name' is a (unique) identifier that will be used to compute the variable (it's recommended to prefix it with the name of your extension). To register the method, you should add a handler for the  hook; therein, you should check if the $method passed matches your 'method_name', and if so, compute the variable. Lastly, $params is an array of parameters that you'll need to compute the variable; these are passed to the computeVariable hook handler. For an example of this, you can check out CentralAuth's.

Adding rule groups
You can also add extra rule groups, which can be used to group existing abuse filters. Note that, at the moment, each filter can only be in a single group (T116642). Currently, the only known consumer of this feature is Extension:StructuredDiscussions. To do that, you should:


 * Append the name of the group to
 * Add some code to run the filters with your group. Note that AbuseFilter won't do that on its own. To do that, you should construct an  object, passing in the name of your group.

Ver também

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