Aller au contenu

Aide:AbuseFilter

Une page de Wikipédia, l'encyclopédie libre.

AbuseFilter est une extension de MediaWiki, qui permet de mettre en place des rĂ©actions spĂ©cifiques Ă  entreprendre lorsque des actions des utilisateurs, telles que des modifications, correspondent Ă  certains critĂšres. Elle peut servir en particulier Ă  proposer une aide, Ă  Ă©viter des erreurs de dĂ©butant ou des vandalismes grossiers. Ces rĂ©actions sont gĂ©rĂ©es par des « filtres Â», des micro-programmes qui se dĂ©clenchent en fonction d'une ou plusieurs conditions. Toutes les actions entreprises sont inscrites dans un journal permettant de contrĂŽler a posteriori le bon fonctionnement d'AbuseFilter et de ses filtres.

Installation dans ce projet

[modifier | modifier le code]

Une fois l'extension installée en mars 2010, la mise au point des filtres et leur maintenance doivent se déployer progressivement sur le reste de l'année. Voir la liste des filtres et AbuseFilter/Premiers pas pour l'état des lieux ou encore les pages du modÚle navigation filtres.

Différences entre AbuseFilter et Salebot

[modifier | modifier le code]

Utilisateur:Salebot est un robot, c'est-Ă -dire un compte contrĂŽlĂ© par un programme informatique Ă©crit par Utilisateur:Gribeco. Salebot assure la protection des contenus de WikipĂ©dia en rĂ©voquant les modifications rĂ©centes qu'il considĂšre comme suspectes suivant un ensemble de critĂšres ; il avertit les utilisateurs rĂ©voquĂ©s et inscrit dans un journal chacune de ses actions. Dans une trĂšs large mesure, les rĂŽles et la façon de fonctionner de AbuseFilter et de Salebot sont donc similaires. Il existe nĂ©anmoins plusieurs diffĂ©rences.

Avantages de Salebot :

  • c'est un programme « intelligent Â», c'est-Ă -dire qu'il fait Ă©voluer ses rĂšgles en fonction du comportement de l'ensemble des utilisateurs. Par exemple, Salebot modifie son comportement si un utilisateur a dĂ©jĂ  Ă©tĂ© rĂ©voquĂ© par un autre ou au contraire si un utilisateur voit ses contributions marquĂ©es comme relues (voir Aide:Patrouille) ;
  • Salebot fonctionne depuis octobre 2007[1] et possĂšde un ensemble de rĂšgles trĂšs dĂ©veloppĂ© ;
  • N'importe quel contributeur peut annuler une action de Salebot, que celui-ci se soit trompĂ© ou non.

Avantages de AbuseFilter :

  • c'est une extension de MediaWiki, logiciel qui fait fonctionner WikipĂ©dia : a priori, si WikipĂ©dia fonctionne, AbuseFilter fonctionne, il y a peu de risques de panne ;
  • AbuseFilter peut afficher un message explicatif, une aide ou un avertissement, au-dessus de la fenĂȘtre d'Ă©dition et avant la publication de la modification : cela permet d'aider ou de prĂ©venir les nouveaux contributeurs qui feraient une erreur ;
  • AbuseFilter peut interdire une modification avant la publication : cela Ă©vite de voir l'historique polluĂ© par un vandalisme et par la rĂ©vocation de ce vandalisme ; cela dĂ©courage le vandale dont le vandalisme n'est jamais mis en ligne ;
  • AbuseFilter peut empĂȘcher la crĂ©ation ou le renommage d'une page ;
  • AbuseFilter peut agir sur le statut des utilisateurs ou bloquer des comptes vandales (cette fonctionnalitĂ© n'est pas activĂ©e sur la WikipĂ©dia francophone) ;
  • AbuseFilter peut filtrer Ă  partir du rĂ©sumĂ© de modification (par exemple pour une contribution correcte mais avec une insulte en commentaire).

Exemples de filtre

[modifier | modifier le code]
  • baliser une modification en cas de gros ajout par un dĂ©butant ;
  • baliser une modification qui supprime une rĂ©fĂ©rence ou une note ;
  • afficher un message d'aide ou d'avertissement au-dessus de la fenĂȘtre d'Ă©dition si un utilisateur insĂšre ~~~~ dans un article ;
  • interdire un blanchiment d'article par une IP ;
  • interdire l'ajout de trois liens externes Ă  la fois par un utilisateur ayant moins de 3 mois et 4 jours d'anciennetĂ© et moins de 173 modifications ;
  • empĂȘcher de crĂ©er un compte utilisateur dont le nom comprend « Sarkozy Â» ;
  • bloquer un utilisateur qui renomme une page en ajoutant « on wheels Â» au nom (cette fonctionnalitĂ© n'est pas activĂ©e sur la WikipĂ©dia francophone) ;
  • bloquer un utilisateur qui ajoute des liens externes sur au moins 11 pages diffĂ©rentes en moins de 28 minutes (cette fonctionnalitĂ© n'est pas activĂ©e sur la WikipĂ©dia francophone) ;
  • envoyer un message de fĂ©licitations Ă  un utilisateur qui vient de faire sa 1000e modification ;
  • empĂȘcher un renommage de page utilisateur par un compte ayant moins de 3 semaines d'anciennetĂ©.

Groupes d'utilisateurs

[modifier | modifier le code]

Remarque prĂ©alable : lors de l'installation de AbuseFilter, il est possible de crĂ©er un nouveau groupe d'utilisateurs appelĂ© abusefilter. Ceci permet d'affecter des droits utilisateurs autrement qu'avec les groupes utilisateurs classiques (administrateur, utilisateur enregistrĂ©, etc.). Ce groupe a Ă©tĂ© créé par la version anglophone mais pas par la germanophone.

La crĂ©ation d'un groupe abusefilter a Ă©tĂ© dĂ©cidĂ©e par la prise de dĂ©cision de janvier 2010 qui a approuvĂ© l'installation de l'extension sur WikipĂ©dia fr :

Droit Groupe Description
abusefilter-log Tous Permet de voir le journal d'AbuseFilter (filtre déclenché, page, modification et utilisateur concernés).
Voir le journal.
abusefilter-log-detail Autoconfirmé Permet de voir en détail chaque entrée du journal d'AbuseFilter.
Voir un détail du journal.
abusefilter-log-private Autoconfirmé Voir les entrées du journal des filtres anti-erreur marqués comme privés.
abusefilter-hide-log Masqueur de modifications Masquer des entrées dans le journal anti-erreur
abusefilter-hidden-log Masqueur de modifications Voir les entrées masquées du journal anti-erreur
abusefilter-modify Modificateur de filtre anti-erreur Permet de créer et de modifier des filtres.
abusefilter-modify-restricted Administrateur Permet de crĂ©er et de modifier des filtres d'« action restreinte Â» (par dĂ©faut : bloquer ou retirer des droits).
abusefilter-view Autoconfirmé Permet de voir le code source de tout filtre paramétré comme public.
Exemple de filtre public
abusefilter-view-private Modificateur de filtre anti-erreur Permet de voir le code source de tout filtre paramétré comme privé.
Exemple de filtre privé.
abusefilter-revert Administrateur Permet de révoquer toutes les modifications effectuées par un filtre.
abusefilter-privatedetails VĂ©rificateur d’utilisateurs Permet de voir les IP des contributeurs dans le journal d'AbuseFilter.
abusefilter-privatedetails-log VĂ©rificateur d’utilisateurs Permet de voir le journal des accĂšs aux IP dans le journal d'AbuseFilter.


Pour connaßtre les droits utilisateur choisis par les autres wikis de la Wikimedia Foundation ayant installé AbuseFilter, voir meta:AbuseFilter
Pour connaßtre les différents groupes utilisateurs et leurs droits actuels sur fr.wikidepia.org, voir Aide:Statuts des utilisateurs et Spécial:Liste des droits de groupe.
Actions restreintes
Parmi les actions possibles d'AbuseFilter, certaines peuvent ĂȘtre qualifiĂ©es de restreintes, parce qu'elles ne peuvent ĂȘtre introduites dans le code-source d'un filtre que par un groupe d'utilisateurs spĂ©cifique.

L'existence d'un groupe d'utilisateurs abusefilter permet de faire abstraction des autres statuts - surtout celui d'administrateur - pour l'attribution de certains droits (comme la création de filtres par exemple).

La Liste des modificateurs de filtre a été ouverte le jour de l'installation de l'extension le 16 mars 2010.

Le but de ce groupe est de crĂ©er, adapter et gĂ©rer les filtres de l'extension, en fonction :

  • des besoins exprimĂ©s par l'ensemble du projet ;
  • des demandes et remarques provenant d'utilisateurs ne faisant pas partie du groupe ;
  • des difficultĂ©s Ă©ventuelles, quelles qu'elles soient.

Le groupe veille également à sa bonne gestion interne, à l'accueil de nouveaux membres et à la maintenance de toutes les pages utiles au fonctionnement de l'extension AbuseFilter.

Options de configuration d'AbuseFilter

[modifier | modifier le code]

Actions possibles

[modifier | modifier le code]

AbuseFilter est capable d'effectuer les actions prĂ©sentĂ©es ci-dessous, sous rĂ©serve que l'extension soit configurĂ©e avec les paramĂštres par dĂ©faut, une ou plusieurs pouvant ĂȘtre inutiles ou non souhaitĂ©es sur un wiki.

Ces actions sont sélectionnées, combinées et paramétrées lors de la mise au point de chaque filtre en fonction de son but.

Il est Ă©galement possible de crĂ©er un groupe d'actions restreintes, c'est-Ă -dire d'actions que peut effectuer AbuseFilter mais qui ne peuvent ĂȘtre introduites dans la dĂ©finition d'un filtre que par un groupe restreint d'utilisateurs.

Actions activées sur la Wikipédia francophone

[modifier | modifier le code]

Journalisation

[modifier | modifier le code]

Toutes les modifications qui dĂ©clenchent un filtre (c'est-Ă -dire qui correspondent Ă  un ensemble de critĂšres) sont inscrites dans un journal, mĂȘme si aucune action n'est entreprise par AbuseFilter suite au dĂ©clenchement du filtre. Cela permet le contrĂŽle a posteriori des actions mais rend Ă©galement possible de tester la pertinence des filtres avant leur mise en application concrĂšte.

Il existe deux niveaux de journalisation (simple et détaillé).

  1. date, compte utilisateur, filtre dĂ©clenchĂ©, action dĂ©clenchante (modifier, renommer, etc.), page concernĂ©e. Ce journal est visible par tous les utilisateurs ayant les droits « Voir le journal Â» (abusefilter-log). Voir par exemple le journal de la WikipĂ©dia en anglais : en:Special:AbuseLog
  2. ensemble des paramĂštres de la modification qui a dĂ©clenchĂ© le filtre, appelĂ©s « dĂ©tails du journal Â» ; les dĂ©tails du journal sont visibles par tous les utilisateurs ayant les droits « Voir les dĂ©tails du journal de AbuseFilter Â» (abusefilter-log-detail). Voir par exemple une entrĂ©e dĂ©taillĂ©e du journal de la WikipĂ©dia en anglais : en:Special:AbuseLog&details.

Par ailleurs, totalement indĂ©pendamment de cette journalisation, chaque filtre possĂšde un paramĂštre qui dĂ©finit si son code-source (rĂšgles de fonctionnement) est public ou privĂ© : voir PublicitĂ© des filtres.

Marquage (balisage)

[modifier | modifier le code]

La modification est indiquĂ©e avec une marque (un petit message) qui est visible sur les modifications rĂ©centes, la liste des contributions de l'utilisateur, les journaux, les nouvelles pages, l'historique, etc. Il est possible de dĂ©finir le style et la couleur des marques. Cela permet de laisser Ă  la communautĂ© la charge de vĂ©rifier elle-mĂȘme si la modification nĂ©cessite une action.

Voir par exemple les balises utilisĂ©es sur la WikipĂ©dia en anglais : en:Special:Tags.

Avertissement

[modifier | modifier le code]

L'utilisateur est averti qu'une partie de sa modification a dĂ©clenchĂ© un filtre et il lui est donnĂ© la possibilitĂ© de la corriger avant de retenter de publier. Un message spĂ©cifique peut ĂȘtre dĂ©fini pour chaque filtre.

Seuils de déclenchement (throttling)

[modifier | modifier le code]

Il s'agit de dĂ©clencher une action (avertir, marquer, etc.) de la part de AbuseFilter lorsque des filtres sont dĂ©clenchĂ©s un certain nombre de fois pendant une durĂ©e donnĂ©e. C'est un effet de seuil qui permet de supposer la bonne foi ou de donner le droit Ă  l'erreur, mais d'empĂȘcher les modifications ou actions erronĂ©es de façon rĂ©pĂ©tĂ©e.

Le seuil peut ĂȘtre dĂ©fini par exemple par type de contributeurs, par page ou pour le site en entier. On peut ainsi demander Ă  AbuseFilter une action A si le filtre F est dĂ©clenchĂ© X fois pendant la durĂ©e T par le compte utilisateur C sur la page P.

La liste des paramĂštres pour la dĂ©finition des seuils :

  • ip — adresse IP
  • user — compte utilisateur
  • range — plage d'adresses d'IP (/16).
  • page — Page
  • site — le site entier
  • creationdate — date de crĂ©ation du compte
  • editcount — nombre d'Ă©ditions — (astuce permettant de dĂ©terminer s'il s'agit du mĂȘme utilisateur ou non)

Interdiction

[modifier | modifier le code]

Interdit la publication de la modification qui a dĂ©clenchĂ© le filtre, et affiche un message d'erreur explicatif. Un message diffĂ©rent peut ĂȘtre dĂ©fini pour chaque filtre.

Actions non activées sur la Wikipédia francophone

[modifier | modifier le code]

Interdiction de l'accĂšs automatique Ă  un statut

[modifier | modifier le code]

Quatre jours aprĂšs sa crĂ©ation, un compte utilisateur accĂšde automatiquement au statut autoconfirmed : il n'a plus Ă  remplir le captcha, n'est plus forcĂ© de prĂ©visualiser avant de publier et peut renommer des pages. Suite au dĂ©clenchement d'un filtre, l'utilisateur peut se voir interdire l'accĂšs Ă  ce statut autoconfirmed.

L'utilisateur est bloqué avec un message d'explication. La durée du blocage est choisie une fois, pour tous les filtres, lors de l'installation de l'extension.

Retrait des statuts

[modifier | modifier le code]

L'utilisateur se voit instantanĂ©ment retirer ses statuts privilĂ©giĂ©s (administrateur, bureaucrate, etc.)

Actions restreintes

[modifier | modifier le code]

Il est possible, si cette option est activĂ©e, de crĂ©er Ă  partir de la liste prĂ©cĂ©dente un ensemble d'actions restreintes qui ne peuvent ĂȘtre introduites dans la dĂ©finition d'un filtre que par un groupe prĂ©cis d'utilisateurs : ceux qui ont les droits « Modifier/crĂ©er des filtres de AbuseFilter engendrant une action restreinte Â» (abusefilter-modify-restricted). Si l'option est activĂ©e, cette liste restreinte contient par dĂ©faut : bloquer et retirer des droits.

Blocage d'une plage d'adresses

[modifier | modifier le code]

Par exemple, toute une plage d'adresses IP /16 est bloquée pendant 24 heures.

Visualisation publique des filtres

[modifier | modifier le code]

Lors de sa crĂ©ation ou de ses modifications ultĂ©rieures, le code et les paramĂštres d'un filtre peuvent ĂȘtre choisis comme publics ou privĂ©s. Il ne s'agit pas d'une option technique de l'extension, mais d'un choix du crĂ©ateur/modificateur du filtre qui est effectuĂ© localement pour chaque filtre en cochant ou dĂ©cochant la case « Cacher les dĂ©tails de ce filtre Ă  la vue publique Â».

  • Filtre Ă  dĂ©tails publics : le code complet et les paramĂštres du filtre peuvent ĂȘtre vus par les groupes ayant les droits abusefilter-view ;
  • Filtre Ă  dĂ©tails privĂ©s : l'examen de l'intĂ©gralitĂ© du filtre est rĂ©servĂ© aux groupes ayant les droits de modification du filtre (abusefilter-modify) ou ayant le droit spĂ©cifique concernant les filtres Ă  dĂ©tails privĂ©s (abusefilter-view-private).

Variables utilisables dans les filtres

[modifier | modifier le code]

La liste des variables peut ĂȘtre consultĂ©e sur mediawikiwiki:Extension:AbuseFilter/Rules format.

Voir aussi mediawikiwiki:Extension:IPReputation/AbuseFilter variables pour la détection de proxies ouverts notamment.

Expressions rationnelles

[modifier | modifier le code]

Les filtres peuvent contenir des expressions rationnelles, avec une syntaxe glob (en utilisant variable like "<motif glob>") PCRE (en utilisant variable regex "<expression rationnelle PCRE>" ou son équivalent variable rlike "<expression rationnelle PCRE>").

Manuel de PCRE et Regular Expressions for Perl.

OpérateurExemple
==
!=
article_namespace == 0
<   <=
>   >=
article_namespace >= 0
contains user_name contains "Vandale"
like user_name like "ab?d*"
rlike user_name rlike "^ab.d.*$"
Fonction
length length("test") → 4
lcase lcase("VANdaLe") → "vandale"
count count("t", "test") → 2
norm norm("!!ω..Éš..ƙ..É©..ᑭᑭ..Ɛ.Ɖ@@l%%α!!") → "W1K1PED1A"

Exemples de filtres

[modifier | modifier le code]
Redirection vide
new_wikitext contains ("#Redirect \[\[\]\]")
Grosses tables pleines de <td> qui font planter Internet Explorer
edit_delta >= 7500 & count('<td',lcase(ADDED_LINES)) >= 300
Répétition d'un caractÚre 30 fois
added_lines like '.{30,}'
Autobiographies de jeunes chanteurs avec une adresse de courriel dans l'article
user_editcount < 300 &
(
    user_name = article_prefixedtext |
    ( lcase(new_text) contains 'né' & new_text regex '19[89]\d' & 
        (
            rmwhitespace(new_text) like (rmwhitespace(article_text)+'*') |
            lcase(new_text) contains 'chanteur'
        )
    ) |
    lcase(new_text) regex '\S+\@(hotmail|gmail|yahoo)' & article_namespace != ''
)
Vandalisme spécifique par deux plages d'IP /16 sur les articles Google et Orkut
page_title == "Google|Okrut"
& user_editcount < 50
& user_name rlike "^(189\.70\.|^193\.200\.)"

Renommage de la page utilisateur ou de la page de discussion d'une autre personne
action=="move"
& (moved_from_namespace==2 | moved_from_namespace==3)
& !("/" in moved_from_title)
& (user_name != moved_from_title)
& !("sysop" in user_groups)
Renommage d'une page utilisateur (en autorisant les renommages vers l'espace de nom principal pour ceux qui ont un certain nombre d'éditions, par exemple pour placer un brouillon en sous-page personnelle vers l'espace encyclopédique)
action == "move"
& !(moved_to_text contains "/")
& moved_from_namespace = 2
& moved_to_namespace = 0
& user_editcount <= 100

Outils de débogage

[modifier | modifier le code]

La page Spécial:Filtre antiabus/test permet de vérifier la partie détection d'un filtre[4].

Il est possible d'y construire le filtre ou d'importer un filtre déjà existant.

Le test concerne au plus 100 modifications : il est possible de se limiter Ă  un contributeur, une plage de temps et un article.

Pour Ă©tudier a posteriori une modification dĂ©jĂ  filtrĂ©e, utiliser le lien « examiner Â» prĂ©sent sur chaque entrĂ©e du journal des filtrages.

Personnalisation de la boßte d'édition

[modifier | modifier le code]

La boĂźte d'Ă©dition des filtres peut ĂȘtre personnalisĂ©e. Voir Aide:AbuseFilter/Interface.

Notes et références

[modifier | modifier le code]
  1. ↑ Historique des contributions de Salebot, premiùre page
  2. ↑ « Configuration Â»
  3. ↑ phab:T309609
  4. ↑ Certains examens d'actions passĂ©es Ă©choueront (ils n'identifient pas certaines rĂ©visions comme positives alors qu'elles le sont) parce que le filtre utilise des variables construites pour d'autres extensions (Flow, Tor, MobileApp, etc.). Voir T102944.