Wikipedia:Bearbeitungsfilter
Der Missbrauchsfilter (Englisch: edit filter oder abuse filter) ist ein vielseitig einsetzbares Werkzeug zur Vandalismusbekämpfung. Es ermöglicht eine automatische Überprüfung von Bearbeitungen nach Kriterien, die in Filtern festgelegt werden.
Technisch steckt hinter dem Missbrauchsfilter die MediaWiki-Erweiterung AbuseFilter. Sie wurde am 25. Februar 2009 testweise in der deutschsprachigen Wikipedia sowie diversen anderen Wikis aktiviert.[1] Derzeit können alle Administratoren Filter bearbeiten.
Wichtige Spezialseiten sind:
- Spezial:Missbrauchsfilter: Hier können die Filter eingesehen, getestet und von berechtigten Benutzern (Administratoren) verändert werden.
- Spezial:Missbrauchsfilter-Logbuch: Alle Änderungen, die von einem Filter als potenziell schädlich identifiziert werden, werden in einem Logbuch aufgelistet.
Die Diskussion von Vorschlägen für neue Filter findet unter Wikipedia:Missbrauchsfilter/Anträge statt.
Grundsätzliches
Der Missbrauchsfilter ist ein sehr mächtiges Werkzeug. Falsch konfigurierte Filter können weitreichende Folgen haben, und schon kleine Tippfehler können dazu führen, dass viele sinnvolle Bearbeitungen verhindert werden. Aus diesem Grund sollten neue Filter zunächst ausführlich getestet werden (nur im Logbuch markieren) bevor sie „scharfgeschaltet“ werden durch das Auswählen weiterer Maßnahmen. Ebenso sollte beim Aktualisieren vorhandener Filter darauf geachtet werden, dass nicht unerwünschte Nebenwirkungen auftreten. Fehlerkennungen von Filtern können auf Wikipedia:Missbrauchsfilter/Fehlerkennungen gemeldet werden.
Zur allgemeinen Nachvollziehbarkeit sollten Filter möglichst nicht als „privat“ deklariert werden. Dies kann jedoch nötig werden, wenn ansonsten Vandalen durch die Kenntnis der Filterregel diesen Filter problemlos umgehen könnten.
Filtermöglichkeiten
Die Filter besitzen eine eigene Syntax, um Bedingungen miteinander zu verknüpfen. In den Bedingungen können dabei die Variablen der nachfolgenden Tabelle verwendet werden:
Variablenname | Wert |
---|---|
user_editcount | Anzahl der Beiträge des Benutzers, wird nicht bei IPs gesetzt |
user_name | Benutzername. Bei Neuanmeldungen wird stattdessen accountname gesetzt. |
user_age | Alter eines Benutzerkontos in Sekunden, 0 bei IPs. |
user_groups | Liste der Benutzergruppen, IPs sind nur in „*“, angemeldete Benutzer auch in weiteren Gruppen wie „user“, „bot“, „editor“, „autoreview“ und „autoconfirmed“. |
user_emailconfirm | Zeitstempel der Form YYYYMMDDHHMMSS, Beispiel „20081231235959“. |
article_namespace | Nummer des Namensraums, in dem der Edit stattfindet, beispielsweise 0 für den Artikelnamensraum. (Gesamte Liste) |
article_prefixedtext article_text |
Titel der Seite mit und ohne Namensraum-Präfix. Gleich im Falle des Artikelnamensraumes. |
action | Aktion, die der Benutzer ausführt, z. B. „edit“ oder „createaccount“. |
summary | Zusammenfassung |
old_size new_size edit_delta |
Größe in Bytes vor und nach einem Edit sowie die Größenänderung. |
old_wikitext new_wikitext |
Gesamter Wikitext der Seite vor und nach einem Edit. |
added_lines removed_lines |
Hinzugefügte und entfernte Textzeilen, wie im Diff. |
Um Variablen mit Zeichenketten und Werten zu vergleichen, stehen die folgenden Operatoren zur Verfügung:
Operator | Beispiel | Bedeutung |
---|---|---|
== != |
article_namespace == 0 | Gleichheit oder Ungleichheit mit Vergleichswert oder -zeichenkette. |
< <= > >= |
article_namespace >= 0 | Arithmetische Vergleiche |
contains | user_name contains "Vandale" | Prüft, ob die angegebene Zeichenkette in der Variable enthalten ist. |
like | user_name like "ab?d*" | Vergleich der Variable mit einem Muster, ? steht hierbei für genau ein beliebiges Zeichen, * für unbeschränkt viele. |
rlike | user_name rlike "^ab.d.*$" | Wie like, statt eines einfachen Musters wird hier jedoch auf der rechten Seite des Operators ein regulärer Ausdruck verwendet. Zu beachten ist hier, dass Maskierungen doppelt erfolgen müssen (also z.B. \\d statt \d ).
|
Zusätzlich existieren einige Funktionen, mit denen Variablen für Vergleichszwecke leichter verändert werden können.
Funktion | Beispiel | Bedeutung |
---|---|---|
length | length("test") → 4 | Länge der übergebenen Zeichenkette |
lcase | lcase("VANdaLe") → "vandale" | Transformiert alle Großbuchstaben einer Zeichenkette in Minuskeln |
count | count("t", "test") → 2 | Zählt, wie oft die erste Zeichenkette in der zweiten vorkommt, im Beispiel, wie viele „t“ in „test“ sind. |
norm | norm("!!ω..ɨ..ƙ..ɩ..ᑭᑭ..Ɛ.Ɖ@@l%%α!!") → "W1K1PED1A" | Transformiert optisch ähnliche Zeichen auf eine gemeinsame Repräsentation (im Beispiel „ɨ“, „ɩ“ und „l“ auf „1“), entfernt Sonderzeichen und Doppelungen. |
Maßnahmen
Für den Fall, dass die Bedingung eines Missbrauchsfilters erfüllt sind, lassen sich die folgenden Maßnahmen auswählen.
Maßnahme | Erklärung |
---|---|
Bearbeitung im Missbrauchsfilter-Logbuch markieren | Standardmäßig aktiviert und nicht deaktivierbar. |
Aktion nur auslösen, wenn der Benutzer ein bestimmtes Limit überschreitet | Detaillierte Beschreibung unter Gruppendrossel. |
Aktionen nach Warnung des Benutzers ausführen | Dem Benutzer, der den Missbrauchsfilter auslöst, wird eine Warnnachricht angezeigt, welche unter [[MediaWiki:(Nachrichtenname)]] editiert werden kann. |
Die vom Benutzer vorgesehene Aktion nicht ausführen | |
„Automatisch bestätigte Benutzer“-Status entziehen | Nähere Erklärung des Status |
Bearbeitung für eine spätere Überprüfung markieren | Der Änderung werden Schlagworte (Tags) zugewiesen, die in der Versionsgeschichte erscheinen. |
Weitere Maßnahmen, wie automatische Sperren von Benutzern und IP-Adressbereichen, sind in der aktuellen Konfiguration nicht auswählbar.
Gruppendrossel
Die Gruppendrossel-Funktion löst erst dann eine Aktion aus, wenn eine bestimmte Anzahl gleichartiger Bearbeitungen innerhalb eines einstellbaren Zeitraums getätigt wurden. Konfigurierbare Optionen sind hierbei:
- Anzahl erlaubter Aktionen bevor eine Maßnahme ausgeführt wird
- Zeitraum in dem die Aktionen geschehen sein müssen, damit eine Maßnahme ausgeführt wird
- Regeln für die Gruppendrossel die beschreiben, auf welche Art sich die Bearbeitungen ähneln müssen, damit eine Maßnahme ausgeführt wird.
- page: Alle Bearbeitungen müssen auf derselben Seite getätigt worden sein.
- user: Alle Bearbeitungen müssen vom selben Benutzerkonto getätigt worden sein.
- ip: Alle Bearbeitungen müssen unter derselben IP, können aber mit unterschiedlichen Benutzerkonten oder unangemeldet getätigt worden sein.
- range: Alle Bearbeitungen müssen aus derselben /16-Range durchgeführt worden sein. Auch Beiträge von angemeldeten Benutzern aus der Range werden berücksichtigt.
- creationdate: Alle Bearbeitungen müssen mit Benutzerkonten getätigt worden sein, die am selben Tag registriert wurden.
Diese fünf Optionen lassen sich, mit Kommas separiert, zu einer Regel kombinieren. Es ist möglich, mehrere Regeln aufzustellen, diese werden mit einem Zeilenumbruch getrennt.
Beispiele
Mögliche Anwendungsfälle:
- Bearbeitungen, die im Artikelnamensraum stattfinden, bei denen über 10 kB an Text entfernt werden und deren neuer Inhalt nicht die Vorlage:URV enthält, können gefiltert werden. Dem Bearbeiter würde eine (auf diesen Filter zurechtgeschnittene) Warnung ausgegeben. Speichert der Bearbeiter die Änderung dennoch, so wird sie mit dem Schlagwort „viel Text entfernt“ versehen.
- Das Verschieben von Seiten, deren jeweiliger neuer Seitentitel das Wort „böses Schimpfwort“ enthält, kann untersagt werden und dem Benutzer würde eine Meldung ausgegeben, er möge sich an einen Administrator wenden, um die Verschiebung durchzuführen.
- Eine Bearbeitung einer Unterseite von Wikipedia:Meinungsbilder durch einen Benutzer mit einem Editcount unter dem durch die Stimmberechtigung festgelegten Wert wird mit einem Schlagwort „Stimmberechtigung überprüfen“ versehen.
Einzelnachweise
Weblinks
- Informationen zur AbuseFilter-Extension auf mediawiki.org