Вікі про вікі
Advertisement
Вікі про вікі
Це розширення підключається співробітниками Фандому за запитом.
Фільтр зловживань список

Головна сторінка зі списком усіх фільтрів зловживань

Фільтр зловживань (англ. AbuseFilter) — розширення MediaWiki, що дозволяє аналізувати дії користувачів, перевіряючи їх таким чином на відповідність певним правилам. Було створено влітку 2009 року[1].

Опис[]

Після підключення на вікі-проєкт розширення починає перевіряти деякі дії користувачів: редагування, вилучення, перейменування та деякі інші. Робота розширення заснована на фільтрах і під перевіркою мається на увазі порівняння параметрів виконуваної дії з тими, що описані фільтрами. Порівняння виконується по черзі з усіма доступними фільтрами.

Спочатку розширення додає 12 технічних прав. У версії AbuseFilter для Фандому використовується додатковий, унікальний прапор abusefilter-bypass, що дозволяє обійти спрацьовування фільтрів. Обходити фільтри можуть тільки SOAP, помічники і співробітники Фандому, однак в теорії будь-який фільтр можна налаштувати на ігнорування будь-яких інших додаткових груп прав, нехай це адміністратори або Vanguard, наприклад.

Фільтри[]

Фільтр зловживань створення

Створення фільтру зловживань

Фільтр являє собою опис дії, що виконується з використанням власного синтаксису. Список і усі інструменти для управління, налагодження фільтрів розташовані на спеціальній сторінці Спеціальна:AbuseFilter. Фільтри призначені для виділення деяких небажаних або навіть шкідливих шаблонів поведінки.

Так як зазвичай кожній поведінці відповідає свій фільтр, то, наприклад, якщо вікі обмежує мінімальний розмір статті і попереджує розміщення деякої інформації (наприклад, спаму), то для кожної ситуації створюється свій фільтр. Це полегшує їх розробку і подальше налагодження, а також допомагає зрозуміти спрацьовування в тій чи іншій спірній ситуації. У кожного філтра присутній власний числовий ідентифікатор, який ніколи не змінюється. За ідентифікатором можна визначити кількість вже створених.

Фільтри можуть бути загальнодоступними (переглядати деталі можуть усі) і приховані (переглядувати деталі можуть тільки адміністратори або тільки співробітники і SOAP). Звичайно найбільш «цікаві» фільтри приховані — це можуть бути шаблони поведінки вандалів, перевірки на мат і тому подібне. Розкриття алгоритмів у таких випадках небезпечно тим, що в такому випадку можливо зрозуміти його працю і у підсумку обійти його, знаючи про методи праці, ніж просто виявити систему власноручно за принципом «спрацювало або не спрацювало». У кожного фільтру є власна назва, що використовується в журналах і видно при спрацюванні, тобто є загальнодоступним, а також опис (примітка), яку можуть переглядати тільки ті, хто має доступ до фільтру.

Фільтри також можуть бути увімкнені та вимкнені у будь-який момент, але варто врахувати, що фільтри з високою частотою спрацювання відключаться автоматично в метах безпеки. Фільтр можна і вилучити, після чого він відключиться, його статус зміниться на напис «Вилучений», а у списку він буде позначений світло-сірим кольором. Такі фільтри за замовчуванням не показуються в головному їх списку. Вилучення (як і інші дії з фільтрами) позначаються у власному журналі, але не стандартних журналах MediaWiki. Усі дії не тільки журналюються: будь-які зміни фільтрів зберігаються у їх власній історії, де можна побачити хто, коли і як зробив редагування. Правда, вказати і, відповідно, переглянути причину редагування неможливо, рівня як і зняти її помітку «дрібна».

На сторінці управління фільтром також вказується деяка статистика відносно його роботи (якщо така є — було хоча б одне спрацювання). У статистиці показана загальна кількість спрацьовувань, а також частота — на скількох відсотках останніх дій фільтр спрацював. Там ж показаний середній час його праці, що варто враховувати, оскільки кожний фільтр сповільняє час зберігання редагування, завантаження файла і деяких інших дій на вікі-проєкті, навіть якщо робить зовсім мало перевірок. Інформація в загальному доступна на головній сторінці зі списком усіх фільтрів.

Головним у фільтрі є вказані там умови. Часто спочатку там задається певна дія з використанням змінної action. Це може бути: edit (редагування), move (перейменування), createaccount (реєстрація) (на Фандомі не працює — обліковий запис можна створити на будь-якій вікі), delete (вилучення) і upload (завантаження файлів). Саме ця дія буде намагатися відловити розширення. Потім слідує вказання параметрів, оскільки без них спрацьовування посиплються на будь-яку спробу виконати дію. Це можуть параметри суб'єкта (користувача) або об'єкта (об'єкта дії; звичайно статті), або самої дії. Параметри представлені значним списком змінних, через які можна отримати, наприклад, ім'я користувача, дату його реєстрації, текст сторінки, останні її десять редакторів і так далі.

До даних можливо застосоувати функції. Так, функція ccnorm стандартизує усі символи, і слово «Ƒα₦ðøᗰ» перетвориться у «FANDOM», а функція lcase змінить регістр усіх букв на нижній, і текст «Wikia, Inc.» перетвориться в «wikia, inc.» Функції надають істотну допомогу, допомагаючи не тільки протидіяти непомітним підмінам букв в словах з метою обходом фільтрів, але і виявити саме порушення. Наприклад, функція ip_in_range перевірить, чи входе IP-адреса анонімного користувача у вказаний діапазон адресів.

у синтаксисі фільтрів представлені три групи операторів або невеликих команд:

  • Арифметичні оператори: «+» (складання), «-» (віднімання), «*» (множення), «/» (ділення), «%» (взяття залишку від ділення), «**» (зведення в ступінь). Використовується рідше інших. Варто пам'ятати, що «+» також призначений для об'єднання або конкатенації рядків.
  • Оператори порівняння: «==» (рівність), «!=» (нерівність), «<» (менше), «>» (більше), «<=» (менше або рівно), «>=» (більше або рівно).
  • Логічні оператори, що використовують частіше усього: «&» (і), «!» (ні), "|" (або) і «^» (взаємовиключні чи).

Дії порівняння допомагають групувати множинність умов разом, в одному фільтрі, починаючи від простого об'єднання двух елементів:

action = 'edit' & user_age < 608000

…і закінчуючи куди більш складними конструкціями з ветвленням[2]:

action == 'edit' & (user_editcount <= 20 | user_age <= 1209600)
& (article_namespace == 0 | article_namespace == 14)
& removed_lines rlike '^\[\[([a-z]{2,3}|Категорія):.*\]\] *$'
& strpos(added_lines, removed_lines) == 0
&(
add := substr(added_lines, length(removed_lines));
substr(new_wikitext, length(new_wikitext)+1-length(add)) + '\n' == add
&! contains_any(add,'{{','[[')
)

Технічно в одному фільтрі не може бути більше 1 000 умов (кількість викликів операторів і функцій) одноразово, але такі великі фільтри звичайно не зустрічаються.

Налагодження[]

Оскільки фільтри можуть вплинути на діяльність кожного користувача вікі-проєкта, то важливо зайнятися тестуванням їх праці, налагодженням неправильно працюющих. На жаль, інструменти тестування у версії фільтру зловживань, що використовує Фандом, працює тільки на фільтрах, що перевіряють редагування. Інші фільтри тестувати треба власноруч. Для перевірки ж найуживаніші фільтри редагувань слугують три інструменти.

Фільтр зловживань пакетне тестування

Пакетне тестування

Перший інструмент називається «Пакетне тестування». За назвою приховується можливість перевірити якийсь фільтр масово, на 100 вже зроблених редагуванням, відібраних за обраними критеріями. Можливо створити новій фільтр, довантажити вже існуючий за його ідентифікатором, перевірити синтаксис на якісь-нибудь помилки (це ж можна зробити і при створенні фільтру). Можна просто узяти усі останні редагування, а можна застосувати деякі критерії: ім'я користувача, дату редагування, назва сторінки. Спочатку, показуються редагування, де фільтр спрацював б у реальних обставинах, однак можна і показати і те, де фільтр б спасував.

Наступний інструмент, «Перегляд окремих змін», що дозволяє переглянути змінні (параметри дій і так далі), створені фільтром зловживань для окремого редагування, після чого перевірити змінні у фільтрі. Інструмент в чомусь схожий з попереднім, але призначений не для масової перевірки, а навпаки, для точкової, тим самим дозволяючи максимально точно налаштувати складний фільтр. Отримати доступ да змінних можна і іншим шляхом — через журнал зловживань, правда там будуть тільки ті редагування, де фільтри спрацювали, а не будь-які з вікі.

Останній інструмент називається «Властивості налагодження», і звідси можна провести усю ту ж перевірки синтаксису фільтру. Окрім цього, тут знаходиться непрацюючий засіб, що дозволяє повернути користувачу статус автопідтвердженого, якщо такий був знятий фільтром (на Фандомі це неможливо). Імовірно, цей інструмент використовується куди рідше, ніж попередні два, оскільки він не містить якихось справді потрібних коштів, яких не було б в раніше описаних.

Дії[]

У разі збігу вказаних умов і дій, фільтр здатний автоматично прийняти у відношенні користувача деякі заходи.

Перш за все, будь-яке спрацьовування в обов'язковому варіанті зберігаються в журналі зловживань (не плутати з журналом змін фільтрів). Крім цього, на сторінці управління фільтру можна вказати додаткові заходи, які можна вельми умовно розділити на дві групи. Перша група позначає заходи, які впливають на інші чи виконують попереджувальну функцію:

  • «звуження» — можна обмежити діями на якийсь проміжок часу, тільки по закінченню якого будуть прийняті інші засоби;
  • попередження користувача вибираним і настроюваним текстом (за замовчуванням це MediaWiki:Abusefilter-warning, який редагувати не можна). В тексті обов'язково вказується назва спрацьованого фільтра.
  • до дії користувача може бути прикріплена мітка або мітки (знайти можна на сторінці Спеціальна:Tags). Мітки видні редакторам на сторінці нових редагувань. Таким чином, можна залучити їх увагу до деяких дій.

Наступна група включає у себе заходи, які безпосередньо обмежують поведінку користувача і потенційно небезпечні при неправильному налаштуванню фільтру:

  • Відхилення виконуваного користувачем дії. Якщо вибрано попередження, то спочатку воно буде показано, а відхилення спрацює тільки при ігноруванні одного.
  • Зняття з користувача статуса автопідтвердженого (не працює на Фандомі).
  • Блокування користувача, в тому числі блокування діапазону IP (з суфіксом \16), з якого він працює.

Журнал зловживань[]

Фільтр зловживань журнал

Існує особливий журнал фільтру, куди записуються усі спрацювання усіх фільтрів. Ця сторінка не включена в список стандартних журналів і розташована за окремою адресою Спеціальна:AbuseLog. Записи додаються у форматі:

  • 16:32, травня 9, 2018 Asasyl (обговорення | внесок | заблокувати) запустив фільтр редагувань, виконуючи "edit" на сторінці Гелистар. Ужиті заходи: Попередження. Опис фільтру: Запрет на создание страниц

Тут вказано: ім'я користувача, дія (тут: редагування), об'єкт дії (тут: сторінка), прийняті заходи (журнал роботи не вказуються), а також назва самого фільтру.

Адміністратори і представники глобальних груп можуть бачити додаткові посилання у кожного редагування. Перейшовши по ній, вони, як і у випадку з інструментом «Перегляд окремих змін», зможуть бачити усі змінні з їх певними значеннями.

Використання[]

Розширення підключаються тільки для великих або середніх вікі (наприклад, для англомовної WoWWiki), у випадку, коли вікі-проєкт часто піддається атакам вандалів. На Фандомі розширення можна підключити в кількох варіантах доступу: тільки для співробітників і SOAP або також і для локальних адміністраторів. Як правило, у більшості випадків застосовується перша опція. Втім, за фактом розширення можна використовувати і для інших цілей — наприклад, для заборони проставляння деяких шаблонів неадміністраторам.

Примітки[]

Advertisement