Viquipèdia:Filtre d'edicions
Fent-ne 5 cèntims: El filtre d'edicions és una extensió del Mediawiki que permet configurar accions automàtiques en resposta a certs tipus de modificacions de pàgines. Pot proporcionar assistència, evitar errors de principiant o vandalisme groller, o marcar edicions legítimes que convingui seguir. Aquestes accions són gestionades per filtres que s'activen segons determinades condicions programables. |
El filtre d'edicions (AbuseFilter) és una eina que permet a usuaris de confiança establir uns controls específics de l'activitat dels usuaris i crear unes respostes automàtiques quan es donen unes condicions determinades.
Descripció general
[modifica]L'extensió permet aplicar uns filtres automàtics a totes les edicions. Es poden definir diferents filtres en base a diferents variables, per exemple «els usuaris amb menys de 500 edicions no poden reanomenar pàgines a títols que incloguin la paraula /tontos/». Les variables utilitzables per definir el filtres són múltiples:
- Tipus d'edició: modificació, reanomenament, ...
- Usuari: tipus d'usuari, antiguitat, nombre d'edicions, ...
- Pàgina: títol, espai de noms, darrers usuaris en l'historial, ...
- Contingut: text afegit o suprimit, enllaços externs afegits o suprimits, canvi en la mida de la pàgina, comentari de l'edició, ...
- Reanomenament: títol i espai de noms de la pàgina original i final, ...
A aquestes variables s'hi poden aplicar operadors simples (p.ex. >=0), algunes funcions (p.ex. lcase("VANdaL") → "vandal") o expressions regulars.
Una vegada activat un filtre durant una determinada edició, pot emprendre diferents accions: advertir del problema i proporcionar ajuda abans de desar, marcar l'edició per a la seva revisió, prohibir-la, blocar l'usuari o comprovar si es repeteix durant un cert temps per activar un altre filtre.
Totes les edicions que activen un filtre són registrades encara que no hagi generat cap acció.
La creació, modificació o eliminació d'un filtre està reservat als administradors per defecte. Es pot crear un grup d'usuaris abusefilter, assignable pels administradors, que permet configurar l'accés als filtres. Els filtres es poden definir com a públics, on els usuaris poden comprovar el codi, o bé privats si cal seguretat i evitar jugar amb el sistema.
Configuració general
[modifica]- Vegeu mw:Extension:AbuseFilter
L'extensió AbuseFilter té una configuració general inicial.
Les accions disponibles (registre / control de reiteracions / advertiment / refús / retirada d'autoconfirmació / blocatge / blocatge d'un rang IP / retirada de drets / marcatge) es poden activar o desactivar individualment.
Algunes accions es poden definir com a restringides (per defecte el blocatge i la retirada de drets) i accessibles només als usuaris que tinguin drets específics per crear o modificar filtres amb aquestes accions. La durada dels blocatges es pot definir (per defecte és infinit) però és única per tots els blocatges activats pels filtres.
Per seguretat, hi ha un nombre màxim de condicions que es poden utilitzar cada vegada que els filtres comproven una edició. També hi ha una aturada d'urgència pels filtres creats o modificats recentment que superin un límit comptat com el nombre d'activacions en un percentatge d'edicions durant un temps inicial.
Existeix la possibilitat d'activar una base de dades de filtres globals per diferents projectes. Per defecte està desactivada.
Estan definits diferents drets per configurar a diferents grups d'usuaris (en general: * per tots, usuaris, autoconfirmats, administradors). Aquesta extensió pot incloure un grup nou d'usuaris abusefilter per atorgar certs drets.
Dret | Grup per defecte | Configuració local | Descripció |
---|---|---|---|
abusefilter-log | tots | tots | Permet veure el registre del filtre d'edicions (filtre activat, pàgina, modificació i usuari). S'accedeix per la pàgina Especial:AbuseLog |
abusefilter-log-detail | administradors | autoconfirmats | Permet veure el detall de cada registre del filtre (vegeu per exemple Especial:AbuseLog/1). |
abusefilter-modify | administradors | abusefilter | Permet crear i modificar filtres (llista de gestors de filtres). |
abusefilter-modify-restricted | No activat | administradors | Permet crear i modificar filtres amb «accions restringides» (activat només el blocatge, no la retirada de drets). |
abusefilter-view | tots | usuaris registrats | Permet veure el codi font de tot filtre marcat com a públic (vegeu per exemple Especial:AbuseFilter/1). |
abusefilter-view-private | No activat | abusefilter | Permet veure el codi font de tot filtre marcat com a privat (vegeu per exemple Especial:AbuseFilter/6). |
abusefilter-revert | No activat | No activat | Permet revertir totes les modificacions efectuades per un filtre. |
abusefilter-private | No activat | No activat | Registra i permet veure les adreces IP dels col·laboradors. No és compatible amb la política de privadesa de la Fundació Wikimedia. |
abusefilter-private-view |
Variables per definir els criteris dels filtres
[modifica]Existeixen diferents variables per definir els filtres. És possible fer qualsevol combinació de variables en un filtre.
Variables d'acció | Significat |
---|---|
action | Acció efectuada: edit , move , createaccount ,delete
|
tor_exit_node | Si l'acció ha estat feta des d'un node Tor (de totes formes, els nodes Tor són blocats globalment): 0 no, 1 sí
|
timestamp | Registre datat de l'acció |
Variables d'usuari | |
user_name | Nom del compte d'usuari |
user_groups | Grups als que pertany l'usuari |
user_age | Antiguitat del compte d'usuari, en segons. Sempre és 0 per IP |
user_editcount | Comptador d'edicions de l'usuari |
user_emailconfirm | Registre datat de la confirmació de l'adreça de correu de l'usuari |
Variables de pàgina | |
article_text | Títol de la pàgina, incloent o no el prefix de l'espai de noms |
article_prefixedtext | |
article_namespace | Espai de noms de la pàgina, indicat pel seu número |
article_articleid | Número d'identificació de la pàgina. És 0 per pàgines noves no desades. |
article_restrictions_edit | Nivell de protecció de modificacions o reanomenaments de la pàgina |
article_restrictions_move | |
article_recent_contributors | Llista dels deu últims usuaris que han modificat la pàgina. |
Variables de contingut | |
added_lines | Línies afegides i suprimides |
removed_lines | |
edit_diff | Dif de la modificació |
edit_delta | Canvi de la mida amb la modificació |
old_size | Mida de la pàgina abans i desprès de la modificació |
new_size | |
summary | Resum de l'edició |
minor_edit | Si la modificació ha estat marcada com a menor |
added_links | Enllaços externs afegits o suprimits |
removed_links | |
old_links | Enllaços externs abans i desprès de la modificació |
all_links | |
old_wikitext | Codi wiki abans i desprès de la modificació |
new_wikitext | |
new_text | Nou text de la pàgina, desprès de processat pel Mediawiki però sense sintaxi HTML |
new_html | Nou text de la pàgina en HTML |
Variables de reanomenament | |
moved_from_articleid | ID de la pàgina origen i destinació |
moved_to_articleid | |
moved_from_namespace | Espai de noms de la pàgina origen i destinació |
moved_to_namespace | |
moved_from_text | Títol de la pàgina origen i destinació, sense prefix d'espai de noms |
moved_to_text | |
moved_from_prefixedtext | Títol complet de la pàgina origen i destinació, amb prefix d'espai de noms |
moved_to_prefixedtext |
A més, es poden definir internament altres variables per a una millor comprensió, per exemple (tret de en:Special:AbuseFilter/79):
(line1:="(\{\{(r|R)eflist|\{\{(r|R)efs\}\}|<references\s?/>|</references\s?>)"; rcount(line1, removed_lines)) > (rcount(line1, added_lines))
La variable line1 defineix aquí les plantilles i etiquetes per mostrar les referències. L'operador del filtre comprova si s'han suprimit aquestes referències.
Operadors utilitzables per les variables
[modifica]Els criteris dels filtres es defineixen amb les variables i uns operadors, funcions o expressions regulars.
Operador | Exemple | Descripció |
---|---|---|
== != |
article_namespace == 0 | Igual o no igual a un valor |
< <= > >= |
article_namespace >= 0 | Major o menor a un valor |
+ - * / ** % |
1 + 1 | Operacions aritmètiques bàsiques |
in | "prova" in article_text | Està inclòs |
like | user_name like "ab?d*" | Compara la variable amb un patró |
rlike regex |
user_name rlike "^ab.d.*$" | Compara amb una expressió regular |
| & ^ ! | True | False → True | Operadors lògics: OR, AND, XOR, NOT |
Funció | ||
length | length("test") → 4 | Longitud de la cadena de caràcters |
lcase | lcase("VÀNdaL") → "vàndal" | Transforma a minúscules |
count rcount |
count("t", "test") → 2 | Compta el nombre de vegades que el primer argument apareix en el segon |
rmdoubles | rmdoubles("hoola") → hola | Elimina caràcters repetits |
rmwhitespace | Elimina espais en blanc (espais simples, tabuladors i salts de línia) | |
rmspecials | rmspecials("hola!!! gen&%$t") → hola gent | Elimina caràcters especials |
contains_any | user_name contains_any("Vandal","vàndal") | Compara si conté qualsevol dels arguments (nombre d'arguments il·limitat) |
substr strpos str_replace |
Funcions comunes de tractament de text |
- Exemples
Redirecció buida:
new_wikitext contains ("#Redirect [[]]")
Taules grans plenes de <td> problemàtiques per alguns navegadors:
edit_delta >= 7500 & count('<td',lcase(ADDED_LINES)) >= 300
Inclusió de 7 consonants seguides:
added_lines rlike "[bcdfghjklmnpqrstvwxz]{7,}"
Autobiografia:
user_editcount < 300 & ( user_name = article_prefixedtext | ( lcase(new_text) contains 'nascut' & new_text regex '19[89]\d' & ( rmwhitespace(new_text) like (rmwhitespace(article_text)+'*') | lcase(new_text) contains 'cantant' ) ) | lcase(new_text) regex '\S+\@(hotmail|gmail|yahoo)' & article_namespace != '' )
Vandalisme específic de dos rangs d'IP als articles Google o Orkut:
((article_text == "Google") | (article_text == "Orkut")) & ( (user_name rlike "^189.70.")|(user_name rlike "^193.200.")) & (user_editcount < 50)
Reanomenament de la pàgina d'usuari o de discussió no pròpia:
(action=="move") & (moved_from_namespace==2 | moved_from_namespace==3) & !("/" in moved_from_text) & (user_name != moved_from_text) & !("sysop" in user_groups)
Accions desencadenades pels filtres
[modifica]Quan una edició d'un usuari és detectada per un dels filtres, aquest pot desencadenar alguna de les accions que es relacionen a continuació. Aquestes accions són seleccionades i combinades en la definició de cada filtre segons el seu propòsit.
Alguna d'aquestes accions poden estar inhabilitades en la configuració general. Igualment, hi pot haver un grup d'accions restringides que només poden ser definides per un grup restringit d'usuaris.
Registre
[modifica]Totes les edicions que activen un filtre (és a dir, que compleixen els criteris definits en un filtre) són incloses en un registre, encara que no hagin desencadenat cap altra acció. Això permet supervisar a posteriori les edicions però també permet provar l'eficàcia dels filtres abans d'activar-los.
Existeixen dos tipus de registres:
- Simplificat: data, usuari, filtre activat, tipus d'edició (modificació, reanomenament, etc.), pàgina. El dret abusefilter-log està assignat a tothom: vegeu Especial:AbuseLog.
- Detallat: conjunt detallat de paràmetres que han activat el filtre. El dret abusefilter-log-detail està assignat als usuaris autoconfirmats: vegeu per exemple Especial:AbuseLog/1.
Etiquetatge
[modifica]L'edició queda indicada amb una etiqueta, un missatge breu, que avisa del possible problema. Això és visible als canvis recents, la llista de contribucions de l'usuari, els registres, les pàgines noves, l'historial, etc. És possible definir l'estil i color de les etiquetes. Això permet deixar a la comunitat la seva supervisió i poder verificar si cal alguna acció.
Vegeu per exemple les etiquetes utilitzades a la Viquipèdia en anglès: en:Special:Tags.
Advertiment
[modifica]L'usuari és advertit que part de la seva modificació ha activat un filtre i se li dóna la possibilitat que la corregeixi abans d'intentar desar-la. Es pot definir un missatge específic per a cada filtre.
Vegeu per exemple la llista d'avisos de la Viquipèdia en anglès en:MediaWiki:Abusefilter-warning
Prohibició
[modifica]No permet desar la modificació que ha activat el filtre. Es mostra un missatge explicatiu que es pot definir per a cada filtre.
Vegeu per exemple en:MediaWiki:Abusefilter-disallowed
Llindar de reiteracions
[modifica]Es tracta de desencadenar una acció (etiquetatge, advertiment, prohibició, etc.) quan els filtres són activats un cert nombre de vegades durant un període determinat. Si no se supera el llindar es pot suposar bona fe, error ocasional o falsos positius, però en cas de reiteració s'eviten les modificacions errònies.
El llindar es pot definir per exemple per tipus d'usuari, per pàgina o per tot el projecte. També es pot desencadenar una acció A si el filtre F ha estat activat X vegades durant un temps T per l'usuari U a la pàgina P.
Els paràmetres per definir el llindar són:
- ip — adreça IP
- user — usuari
- range — rang d'adreces IP (/16)
- page — pàgina
- site — tot el projecte
- creationdate — data de creació del compte
- editcount — nombre d'edicions
Inhabilitació de la promoció automàtica d'usuaris
[modifica]L'usuari és exclòs durant un cert temps de la promoció automàtica a d'altres grups d'usuaris, o pot veure aquesta promoció revocada. Actualment a la Viquipèdia en català només és aplicable a l'estatus d'usuari autoconfirmat i aquesta acció no està activada.
Retirada d'estatus d'usuari
[modifica]A l'usuari se li retiren immediatament els estatus que permetin certs privilegis (administrador, buròcrata, etc.) Aquesta acció no està activada en aquest projecte.
Blocatge
[modifica]L'usuari és blocat amb un missatge explicatiu. La durada és única per tots els filtres, establerta en 2 hores.
Igualment, es podria blocar un rang d'adreces IP, opció no activada.
Vegeu també
[modifica]- Discussió de la configuració inicial a Viquipèdia:Presa de decisions/2011/Filtre d'edicions
- Descripció de l'extensió AbuseFilter (anglès)
- Seguiment a Meta-wiki (anglès)
|