Open main menu

Extensie:AbuseFilter

This page is a translated version of the page Extension:AbuseFilter and the translation is 53% complete.

Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎català • ‎dansk • ‎español • ‎français • ‎galego • ‎magyar • ‎polski • ‎português • ‎português do Brasil • ‎română • ‎sicilianu • ‎čeština • ‎български • ‎русский • ‎עברית • ‎سنڌي • ‎فارسی • ‎हिन्दी • ‎বাংলা • ‎中文 • ‎日本語 • ‎粵語 • ‎한국어
Extensiile pentru MediaWiki
OOjs UI icon advanced.svg
AbuseFilter
Statutul de lansare: stabilă
AbuseFilter-Management.png
Implementare User activity , Special page , API
Descriere Permite ca restricțiile specifice bazate pe comportament să fie plasate pe activitatea unui wiki
Autor(i)
Politica de compatibilitate ramurile lansării
MediaWiki 1.33+
PHP 5.4+ recomandată
Schimbările bazei de date Da
Tabele abuse_filter
abuse_filter_action
abuse_filter_history
abuse_filter_log
Licență GNU General Public License 2.0 or later
Descărcare
  • $wgAbuseFilterActions
  • $wgAbuseFilterConditionLimit
  • $wgAbuseFilterEmergencyDisableThreshold
  • $wgAbuseFilterEmergencyDisableCount
  • $wgAbuseFilterEmergencyDisableAge
  • $wgAbuseFilterParserClass
  • $wgAbuseFilterRestrictions
  • $wgAbuseFilterNotifications
  • $wgAbuseFilterNotificationsPrivate
  • $wgAbuseFilterCentralDB
  • $wgAbuseFilterIsCentral
  • $wgAbuseFilterDisallowGlobalLocalBlocks
  • $wgAbuseFilterBlockDuration
  • $wgAbuseFilterAnonBlockDuration
  • $wgAbuseFilterCustomActionsHandler
  • $wgAbuseFilterValidGroups
  • $wgAbuseFilterDefaultWarningMessage
  • $wgAbuseFilterIPMaxAge
  • $wgAbuseFilterProfileActionsCap
  • $wgAbuseFilterLogPrivateDetailsAccess
  • $wgAbuseFilterPrivateDetailsForceReason
  • abusefilter-view
  • abusefilter-log
  • abusefilter-log-detail
  • abusefilter-revert
  • abusefilter-privatedetails
  • abusefilter-privatedetails-log
  • abusefilter-view-private
  • abusefilter-log-private
  • abusefilter-hidden-log
  • abusefilter-hide-log
  • abusefilter-modify
  • abusefilter-modify-restricted
  • abusefilter-modify-global
Traduceți extensia AbuseFilter dacă este disponibilă la translatewiki.net
Verificați utilizare și versiunea de matrix.
Probleme cauzate Sarcini deschise · Raportați probleme

Extensia AbuseFilter (Filtru abuz) permite utilizatorilor privilegiați să stabilească acțiuni specifice care trebuie luate atunci când acțiunile utilizatorilor, cum ar fi modificările, corespund anumitor criterii.

De exemplu, ar putea fi creat un filtru pentru a împiedica utilizatorii anonimi să adauge legături externe, sau să blocheze un utilizator care elimină mai mult de 2000 de caractere.

Instalare

  • Descărcați și plasați fișierul(ele) într-un director numit AbuseFilter în directorul dvs. extensions/.
  • Rulați Composer pentru a instala dependențe PHP, prin emiterea de cod composer install --no-dev în directorul de extensii. (Vezi T173141 pentru complicații potențiale.)
  • Adăugați următorul cod în partea de jos a setărilor locale (LocalSettings.php):
    wfLoadExtension( 'AbuseFilter' );
    
  • Rulați scriptul de actualizare care va crea automat tabelele bazelor de date necesare pentru această extensie.
  • Configure as required.
  •   Realizat – Navigați la Special:Version pe wiki-ul dvs. pentru a verifica dacă extensia a fost instalată cu succes.

Pentru utilizatorii care rulează MediaWiki 1.26 sau mai devreme:

Instrucțiunile de mai sus descriu noul mod de a instala această extensie folosind wfLoadExtension()

Dacă trebuie să instalați această extensie pe aceste versiuni anterioare (v. MediaWiki 1.26 și anterioare), în loc de wfLoadExtension( 'AbuseFilter' );, trebuie să utilizați:

require_once "$IP/extensions/AbuseFilter/AbuseFilter.php";

Configurare

Drepturi de utilizator

Odată ce ați instalat extensia, va trebui să configurați drepturile utilizatorului în "LocalSettings.php".

Dreptul Descriere
abusefilter-modify Modifică filtrele de abuz
abusefilter-view Vizualizează filtrele de abuz
abusefilter-log Vizualizează jurnalul de abuzuri
abusefilter-log-detail Vizualizează intrări detaliate în jurnalul de abuzuri
abusefilter-privatedetails Vizualizează datele private din jurnalul de abuzuri
abusefilter-modify-restricted Modifică filtrele de abuz cu acțiuni restricționate
abusefilter-modify-global Creează sau modifică filtre globale de abuz
abusefilter-revert Revine asupra tuturor modificărilor corespunzătoare unui filtru de abuz dat
abusefilter-view-private Vizualizează filtrele de abuz marcate ca private
abusefilter-log-private Vizualizează intrările în jurnalul filtrelor de abuz marcate ca private
abusefilter-hide-log Ascunde intrările în jurnalul de abuzuri
abusefilter-hidden-log Vizualizează intrările ascunse din jurnalul de abuzuri
abusefilter-privatedetails-log View the AbuseFilter private details access log

De exemplu, următoarea configurație a eșantionului ar permite sysopilor să facă tot ce vor cu AbuseFilter și toată lumea să vadă jurnalul și să vadă setările publicului pentru filtre:

$wgGroupPermissions['sysop']['abusefilter-modify'] = true;
$wgGroupPermissions['*']['abusefilter-log-detail'] = true;
$wgGroupPermissions['*']['abusefilter-view'] = true;
$wgGroupPermissions['*']['abusefilter-log'] = true;
$wgGroupPermissions['sysop']['abusefilter-private'] = true;
$wgGroupPermissions['sysop']['abusefilter-modify-restricted'] = true;
$wgGroupPermissions['sysop']['abusefilter-revert'] = true;
Filtrele marcate ca private pot fi vizualizate numai de utilizatori cu permisiunea de filtrare a modificărilor (abusefilter-modify) sau abuz de filtrare-vizualizare privată (abusefilter-view-private).

Parameters

Nume variabil Valoare implicită Descriere
$wgAbuseFilterActions
[
    'throttle' => true,
    'warn' => true,
    'disallow' => true,
    'blockautopromote' => true,
    'block' => true,
    'rangeblock' => false,
    'degroup' => true,
    'tag' => true
]
Posibilele acțiuni care pot fi luate de filtrele de abuz. Când adăugați o acțiune nouă, verificați dacă aceasta este restricționată în $wgAbuseFilterRestrictions și, dacă e, nu uitați să adăugați dreptul de abusefilter-modify-restricted grupuri de utilizatori.
$wgAbuseFilterConditionLimit
1000
Numărul maxim de 'condiții' care pot fi utilizate de fiecare dată când filtrele sunt difuzate împotriva unei modificări. (Filtrele complexe necesită mai multe 'condiții').
$wgAbuseFilterValidGroups
[
    'default'
]
Lista de filtre "grupuri" poate fi împărțită în parte. În mod implicit, există un singur grup. Other extensions may add other groups.
$wgAbuseFilterEmergencyDisableThreshold
[
    'default' => 0.05
]
Dezactivați un filtru dacă se potrivesc cu mai mult de 2 modificări, reprezentând mai mult de 5% din acțiunile verificate împotriva grupului de filtre în perioada "observată" (cel mult o zi), cu excepția cazului în care filtrul a fost modificat în ultimele 86400 secunde (intr-o zi) See emergency throttling.
$wgAbuseFilterEmergencyDisableCount
[
    'default' => 2
]
$wgAbuseFilterEmergencyDisableAge
[
    'default' => 86400
]
$wgAbuseFilterParserClass
'AbuseFilterParser'
Numele clasei de examinare AbuseFilter.
$wgAbuseFilterRestrictions
[
    'block' => true,
    'degroup' => true,
    'blockautopromote' => true,
    'rangeblock' => true
]
Utilizatorii trebuie să aibă dreptul de utilizator "abusefilter-modify-restricted", precum și "abusefilter-modify" pentru a crea sau modifica filtrele care efectuează aceste acțiuni.
$wgAbuseFilterNotifications
false
Permite configurarea extensiei pentru a trimite notificări de la Special:RecentChanges sau UDP. Optiuni disponibile: rc, udp, rcandudp
$wgAbuseFilterNotificationsPrivate
false
Activați notificările pentru filtrele private.
$wgAbuseFilterCentralDB
null
Numele unei baze de date în care vor fi stocate filtrele de abuz globale (acceptate numai în ultima versiune de dezvoltare).
$wgAbuseFilterIsCentral
false
Setați această variabilă la adevărată pentru wiki unde sunt stocate AbuseFilters globale (numai suportate în ultima versiune de dezvoltare).
$wgAbuseFilterDisallowGlobalLocalBlocks
false
Nu permiteți filtrelor centralizate să efectueze acțiuni care blochează local, elimină din grupuri sau revocă permisiuni.
$wgAbuseFilterBlockDuration
'indefinite'
Durata blocărilor efectuate de AbuseFilter.
deoarece duratele blocului 1.31.0-wmf.25 pot fi specificate pentru fiecare filtru unic și vor suprascrie această variabilă. Această variabilă este utilizată numai atunci când se activează blocul pentru a preselecta o durată implicită.
$wgAbuseFilterAnonBlockDuration
null
Durata blocurilor efectuate de AbuseFilter pe utilizatorii care nu sunt conectați. Valoarea $wgAbuseFilterBlockDuration va fi utilizată dacă nu este setată.
deoarece duratele blocului 1.31.0-wmf.25 pot fi specificate pentru fiecare filtru unic și vor suprascrie această variabilă. Această variabilă este utilizată numai atunci când se activează blocul pentru a preselecta o durată implicită.
$wgAbuseFilterCustomActionsHandlers
[ ]
Comenzile de revenire pentru acțiunile personalizate.
$wgAbuseFilterDefaultWarningMessage
[
    'default' => 'abusefilter-warning'
]
Mesaje de avertizare implicite, pe grup de filtre
$wgAbuseFilterLogIPMaxAge
3 * 30 * 24 * 3600
Vârsta a fost utilizată drept cutoff atunci când ați curățat datele vechi din jurnalele IP. Implicit la 3 luni. Folosit de scriptul de întreținere purgeOldLogIPData.php.
$wgAbuseFilterProfileActionsCap
10000
Numărul de acțiuni care determină când se resetează statisticile de profil.
$wgAbuseFilterLogPrivateDetailsAccess
false
Whether accessing private information from a filter log entry is logged.
$wgAbuseFilterPrivateDetailsForceReason
false
Whether users are forced to provide a reason for accessing private information from a filter log entry.

Emergency throttling

AbuseFilter comes with a feature that automatically throttles (disable) filters that have been edited recently and match a certain theresold of the latest actions.

This is done to prevent harmful edits on the filters to block every user that performs an action on the wiki or similar.

The condition to disable the filter depend on those variables:

  • $wgAbuseFilterEmergencyDisableThreshold - Percent of matches over the total amount of actions in the observed period.
  • $wgAbuseFilterEmergencyDisableCount - Count of matches of the filter in the observed period.
  • $wgAbuseFilterEmergencyDisableAge - Age of the filter to take it into account. If the last edit of the filter is older than this number of seconds, the filter won't be throttled, unless it's already throttled.
  • $wgAbuseFilterProfileActionsCap - Maximum number of recent actions to count against the threshold. Note that each action increments a counter, and once this counter reaches this configured value, this counter and the number of recent actions that matches all filters are reset to 0.

Throttled filters can be identified in the list of filters (Special:AbuseFilter) with the state Enabled, throttled. Throttling happens silently, and there's no way to see when a filter got throttled.

When a filter gets throttled, it doesn't perform any dangerous action (the ones specified in $wgAbuseFilterRestrictions), and only "safe" actions are allowed. Throttled filters don't get enabled automatically. To disable the throttling, you need to edit the filter. Note that you need to actually change something from the filter: changing somethin from the filter's notes is sufficient.

Note that editing the filter updates its age, and can cause it to be disabled if it reaches again the conditions to be throttled in a short period since the last edit, leading to a unusable filter if your wiki has more abuse edits than legitimate ones. Filters can also get randomly throttled if the action count reaches $wgAbuseFilterProfileActionsCap, causing all filter matches count to reset to 0, and then someone repeatedly makes a filter to hit.

Crearea și gestionarea filtrelor

Odată ce extensia a fost instalată, filtrele pot fi create, testate, modificate/șterse iar jurnalele pot fi accesate din pagina de gestionare a filtrelor abuzului Special:AbuseFilter.

API

AbuseFilter adaugă două module de liste API, unul pentru detalii despre filtrele de abuz ("filtre de abuz") și unul pentru jurnalul de abuz, deoarece este separat de alte jurnale MediaWiki ("abuselog"). Nu este posibil să creați sau să modificați filtre de abuz utilizând API-ul.

list = abusefilters

Afișați informații despre filtre

;Parameteri
  • abfstartid: ID-ul filtrului pentru a începe enumerarea de la
  • abfendid: ID-ul filtrului pentru a opri enumerarea la
  • abfdir: Direcția în care trebuie enumerate (mai vechi, mai noi)
  • abfshow: Afișați numai filtrele care îndeplinesc aceste criterii (enabled|!enabled|deleted|!deleted|private|!private)
  • abflimit: Numărul maxim de filtre pe listă
  • abfprop: Ce proprietăți trebuie să obțineți (id|description|pattern|actions|hits|comments|lasteditor|lastedittime|status|private):
  • abfstartid - The filter id to start enumerating from
  • abfendid - The filter id to stop enumerating at
  • abfdir - The direction in which to enumerate (older, newer)
  • abfshow - Show only filters which meet these criteria (enabled|!enabled|deleted|!deleted|private|!private)
  • abflimit - The maximum number of filters to list
  • abfprop - Which properties to get (id|description|pattern|actions|hits|comments|lasteditor|lastedittime|status|private)

Când filtrele sunt private, unele dintre proprietățile specificate cu abfprop vor lipsi dacă nu aveți drepturile de utilizator corespunzătoare.

;Exemple

Listați filtrele de abuz non-private

list = abuselog

Listează instanțele în care acțiunile au declanșat un filtru de abuz.

;Parametri
  • aflstart: Marca de timp pentru a începe enumerarea de la
  • aflend: Marca de timp pentru a opri enumerarea la
  • afldir: Direcția în care trebuie enumerate (mai vechi, mai noi)
  • afluser: Afișați numai intrările în cazul cărora acțiunea a fost încercată de un anumit utilizator sau de o adresă IP.
  • afltitle: Afișați numai intrările în care acțiunea a implicat o anumită pagină.
  • aflfilter: Afișați numai intrările care au declanșat un ID filtru dat
  • afllimit: Numărul maxim de intrări în listă
  • aflprop: Ce proprietăți trebuie să obțineți (id-uri|utilizator|titlu|action|result|timestamp|details):
  • aflstart - The timestamp to start enumerating from
  • aflend - The timestamp to stop enumerating at
  • afldir - The direction in which to enumerate (older, newer)
  • afluser - Show only entries where the action was attempted by a given user or IP address.
  • afltitle - Show only entries where the action involved a given page.
  • aflfilter - Show only entries that triggered a given filter ID
  • afllimit - The maximum number of entries to list
  • aflprop - Which properties to get (ids|user|title|action|result|timestamp|details)
;Exemplu

Listează instanțele în care filtrul de abuz a fost declanșat ca răspuns la acțiunile utilizatorului "SineBot"

Possible errors

  • Some users might experience that creating new filters or modifying old filters fail and the user just gets redirected to the original page. If the Wiki is using SSL certificates, this error could possibly be because of the $wgServer value, which might be using "http://" instead of "https://". An indication of this error will be, the browser giving https warning for Special:AbuseFilter pages. (Topic:T23dyyih0ofjada5)

Vezi şi