Apri il menu principale

Aiuto:Filtro anti abusi

Il filtro anti abusi è un sistema di euristica che analizza tutte le modifiche che vengono fatte alle pagine di Wikipedia e altre operazioni quali la creazione di utenze o lo spostamento di pagine. Lo scopo principale è evitare abusi come ad esempio i vandalismi, ma si utilizza anche per etichettare modifiche lecite. Esso si basa su una serie di regole, definite con un apposito linguaggio dagli amministratori o da chiunque ne abbia gli appositi permessi.

Ogni regola costituisce un filtro, ciascuno dei quali è caratterizzato dalle condizioni che lo fanno scattare e dalle eventuali azioni da intraprendere.

La funzionalità è stata introdotta nel 2009. Gli amministratori possono in ogni momento creare e modificare gli specifici filtri. Sono disponibili le seguenti pagine speciali, visibili solo agli utenti convalidati:

  • Speciale:FiltroAntiAbusi - mostra i filtri esistenti; non tutti sono visibili in dettaglio, quelli di tipo "privato" sono accessibili solo agli amministratori, per non aiutare i malintenzionati a raggirarli.
  • Speciale:RegistroAbusi - consente di vedere tutte le recenti modifiche che hanno attivato uno o più filtri.

Effetti dei filtriModifica

I filtri funzionano in tempo reale, nel momento in cui viene fatta una modifica. Un nuovo filtro non agisce retroattivamente sulle modifiche del passato.

L'effetto minimo di un filtro, quando viene individuata una modifica "colpevole", è segnalarla in Speciale:RegistroAbusi. A seconda di come è impostato il filtro, questi sono gli altri provvedimenti che può prendere, in ordine crescente di gravità:

  • Assegnazione di un'etichetta che apparirà insieme all'oggetto della modifica e in speciale:etichette.
  • Rallentamento: il filtro effettua le azioni (etichettatura, blocco, etc.) solo al raggiungimento di una certa soglia di modifiche nel tempo che ne soddisfino le condizioni.
  • Avviso diretto all'autore della modifica. L'avviso appare come un editnotice. La modifica rimane in sospeso, ma l'utente può decidere di salvarla lo stesso premendo di nuovo "Pubblica le modifiche". Se rinuncia, il tentativo viene comunque riportato nel registro, ma non ci saranno altri provvedimenti.
  • Impedimento della modifica, che non potrà essere salvata.
  • Revoca dello stato di utente convalidato all'autore.
  • Blocco immediato dell'autore. Il blocco appare come se fosse stato effettuato dall'utente fittizio Utente:Filtro anti abusi.

Anche il filtro anti abusi può sbagliare. Se un provvedimento grave viene preso per errore, si può segnalare il problema in Wikipedia:Richieste agli amministratori.

Creazione dei filtriModifica

Questo capitolo interessa solo gli amministratori o chi vuole suggerire modifiche ai filtri.

La pagina di creazione o modifica di un filtro (esempio) è abbastanza autoesplicativa. Si raccomanda di dare ai filtri una descrizione breve ma comprensibile e di spiegarne dettagliatamente in "Note:" lo scopo e i cambiamenti importanti.

La parte più difficile è probabilmente la definizione delle condizioni, che utilizza un linguaggio simile alle espressioni booleane di C/Java/Perl; per questo si veda (EN) mw:Extension:AbuseFilter/Rules format. Per fare delle prove sulle condizioni si possono utilizzare le pagine Speciale:FiltroAntiAbusi/tools e Speciale:FiltroAntiAbusi/test. In Speciale:FiltroAntiAbusi/examine si possono esaminare come esempio le modifiche già avvenute, per vedere quali variabili mettono a disposizione delle espressioni condizionali.

Nel riquadro "Azioni da intraprendere in caso di corrispondenza", ogni spunta corrisponde a uno degli effetti elencati al capitolo precedente. Alcune cose di non immediata comprensione:

N.B. Si ricordi, in generale, che ogni filtro attivo è impegnativo per il sistema, che lo applica a ogni modifica anche se scatta di rado. Un eccesso di filtri può intasare il sistema, tanto da impedire il funzionamento dei filtri più recenti (questo è già avvenuto su it.wiki), perciò non usare i filtri se non è necessario:

  • Per i problemi che riguardano una o poche pagine specifiche è preferibile usare la protezione delle pagine.
  • Per evitare lo spam di collegamenti esterni esiste MediaWiki:Spam-blacklist.
  • Per evitare la creazione di pagine con certi titoli esiste MediaWiki:Titleblacklist.
  • Ricorda di disattivare, dopo un certo tempo, i filtri legati a una particolare "moda" di vandalismo o di recentismo che prima o poi finisce.

La pesantezza di ogni filtro dipende dal numero e tipo di condizioni. Il limite totale, considerando tutti i filtri insieme, è di 1000 condizioni valutate per modifica; raggiunte le 1000 condizioni, non vengono controllati ulteriori filtri e vengono eseguite (se presenti) soltanto le azioni dei filtri già verificati. È bene porre per prime le operazioni meno costose (vedi sotto) e più selettive.

Considerazioni tecnicheModifica

La verifica di alcune condizioni e alcune operazioni sulle variabili sono meno costose: in generale confrontare due variabili intere (per esempio il namespace di due pagine) o booleane (per esempio controllare se l'utente è autoverificato) è meno costoso che cercare una stringa con contains; facendo un esempio fra le funzioni, norm è più costosa di lcase.

PHP (e di conseguenza Mediawiki e il filtro) è particolarmente efficace nell'usare le espressioni regolari: funzioni come rlike e irlike sono decisamente più convenienti di una serie di contains legati fra loro da operatori logici.

Per ogni filtro è disponibile una panoramica con i valori medi di tempo di esecuzione e numero di condizioni impiegate, raccolti anche globalmente in forma di grafici. I tempi di esecuzione mostrati si riferiscono al 99 (verde) e 75 (giallo) percentile, e gli orari sulle ascisse sono UTC. Sono inoltre disponibili dei grafici con le azioni intraprese dai singoli filtri; le azioni mostrate sono soltanto "avvisa", "etichetta", "impedisci" e "blocca".

Per ulteriori dettagli sulla complessità delle funzioni più comuni e accorgimenti per ridurre il carico di lavoro, fare riferimento al manuale di sintassi e ai dettagli sul conteggio delle condizioni.

N.B. Il numero di condizioni utilizzate è puramente indicativo e non è un buon indicatore di quanto un filtro sia efficiente. Ad esempio, concatenare n confronti semplici (come 'a' === 'b') con operatori logici consuma al più n condizioni, ma è relativamente veloce da eseguire. Al contrario, l'utilizzo di una variabile come article_recent_contributors non richiede di per sé alcuna condizione, ma necessita di una query sul database che potrebbe impiegare molto tempo.

Rapporti sui filtri in stalloModifica

Il bot MusikBot si occupa di mantenere una lista dei filtri "in stallo", ovvero di quelli che non hanno registrato corrispondenze negli ultimi 30 giorni. I rapporti sono consultabili alla pagina Utente:MusikBot/StaleFilters/Report. Per specificare un offset diverso da 30 giorni, gli amministratori possono utilizzare la pagina Utente:MusikBot/StaleFilters/Offset, impostando un diverso valore in giorni, mentre per disabilitare totalmente l'attività del bot occorre inserire in Utente:MusikBot/StaleFilters/Run un qualsiasi testo diverso da true. Infine, qualora il bot avesse dei problemi, il suo error log è disponibile in Utente:MusikBot/StaleFilters/Error log.

Pagine correlateModifica

Altri progettiModifica