Viquipèdia:Filtre d'edicions

De Viquipèdia
Dreceres ràpides: navegació, cerca

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 | modifica el codi]

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 | modifica el codi]

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 administradors 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 | modifica el codi]

Vegeu mw:Extension:AbuseFilter/RulesFormat

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
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 | modifica el codi]

Vegeu mw:Extension:AbuseFilter/RulesFormat

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 | modifica el codi]

Vegeu mw:Extension:AbuseFilter/Actions

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 | modifica el codi]

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:

  1. Simplificat: data, usuari, filtre activat, tipus d'edició (modificació, reanomenament, etc.), pàgina. El dret abusefilter-log està assignat a tothom: vegeu Especial:AbuseLog.
  2. 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 | modifica el codi]

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 | modifica el codi]

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 | modifica el codi]

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 | modifica el codi]

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 | modifica el codi]

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 | modifica el codi]

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 | modifica el codi]

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 | modifica el codi]