Aide:AbuseFilter
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]| Option | Valeurs par défaut | Description |
|---|---|---|
| Actions que peut entreprendre AbuseFilter sur le wiki | journaliser / throttle / avertir / interdire / interdire l'autopromotion / bloquer / bloquer une plage d'adresses IP / retirer des droits / marquer | Chacune de ces actions peut ĂȘtre activĂ©e ou dĂ©sactivĂ©e sur un wiki donnĂ© |
| AbuseFilterConditionLimit | 2000[3] | Nombre limite de conditions qui peuvent ĂȘtre combinĂ©es dans un mĂȘme filtre. Cette limite Ă©vite de crĂ©er des filtres dont le temps d'exĂ©cution serait dĂ©mesurĂ© et crĂ©erait une gĂȘne au bon fonctionnement de WikipĂ©dia. |
| Pourcentage d'arrĂȘt d'urgence des filtres | 0.05 | DĂ©sactive les filtres changĂ©s ou créés rĂ©cemment si trop de modifications correspondent aux critĂšres du filtre ; la valeur est le % des modifications rĂ©centes qui correspondent aux critĂšres du filtre |
| Compteur d'arrĂȘt d'urgence | 2 | DĂ©sactive les filtres changĂ©s ou créés rĂ©cemment si trop de modifications correspondent aux critĂšres du filtre ; la valeur est le nombre des modifications rĂ©centes qui correspondent aux critĂšres du filtre |
| DĂ©lai d'arrĂȘt d'urgence | 86 400 | DĂ©sactive les filtres changĂ©s ou créés rĂ©cemment si trop de modifications correspondent aux critĂšres du filtre ; la valeur est la durĂ©e en secondes retenue par AbuseFilter pour calculer le pourcentage et le compteur des modifications rĂ©centes qui correspondent aux critĂšres du filtre (voir paramĂštres prĂ©cĂ©dents) |
| $wgAbuseFilterParserClass | 'AbuseFilterParser' |
Name of AbuseFilter's parser class. |
| $wgAbuseFilterStyleVersion | Like $wgStyleVersion, but only for this extension. Developers should bump this number every time they change any of the .css/.js files. | |
| Actions restreintes | bloquer / retirer des droits | Les utilisateurs doivent avoir des droits spécifiques pour modifier ou créer des filtres qui engendrent ces actions |
| $wgAbuseFilterUDPPrefix | 'abusefilter:' |
Like $wgRC2UDPPrefix, but only for AbuseFilter? |
| $wgAbuseFilterUDPAddress | null |
Like $wgRC2UDPAddress, but only for AbuseFilter? |
| $wgAbuseFilterUDPPort | null |
Like $wgRC2UDPPort, but only for AbuseFilter? |
| $wgAbuseFilterCentralDB | null |
Nom de la base de donnĂ©es oĂč seront stockĂ©s les filtres globaux contrant les abus. |
| $wgAbuseFilterIsCentral | false |
Mettre à true si des filtres globaux sont utilisés. |
| Durée des blocages de AbuseFilter | indéfini |
La durĂ©e de blocage peut ĂȘtre modifiĂ©e sur chaque wiki mais est ensuite la mĂȘme pour tous les blocages entrepris par AbuseFilter |
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é).
- 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 - 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.
Blocage
[modifier | modifier le code]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érateur | Exemple |
|---|---|
== |
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 != ''
)
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]- â Historique des contributions de Salebot, premiĂšre page
- â « Configuration »
- â phab:T309609
- â 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.
Voir aussi
[modifier | modifier le code]- (en) Description de l'extension AbuseFilter
- (en) Format des rĂšgles
- (en) Type de mesures que peut prendre AbuseFilter
- Liste des wikis de la WMF ayant activé AbuseFilter avec leurs options
- Liste des demandes concernant AbuseFilter sur Bugzilla (uniquement technique)
- (en) L'aide disponible sur la Wikipedia anglophone