Окукливание сайта в MediaWiki — различия между версиями

Материал из ЭНЭ
Перейти к: навигация, поиск
(CC-BY_SA 3.0 & GFDL)
 
 
Строка 72: Строка 72:
 
название статьи без префикса пространства имён.
 
название статьи без префикса пространства имён.
 
=== UserRestrictions ===
 
=== UserRestrictions ===
 +
 +
== См. также ==
 +
* [http://wikireality.ru/wiki/Окукливание Общая информация об окукливании]
  
 
[[Категория:Wiki]]
 
[[Категория:Wiki]]

Текущая версия на 05:13, 3 октября 2009

Иногда случается, что сайт на базе движка MediaWiki требуется окуклить — например, в случае необходимости создания закрытого сайта или же в случае использования незащищённых механизмов MediaWiki для уничтожения содержимого сайта.

Способы окукливания

Сервер

Добавление в LocalSettings.php директив $wgGroupPermissions, например:

$wgGroupPermissions['user']['move'] = false;

запретит простым юзерам переименовывать страницы.

Titleblacklist

Окукливание при помощи расширения Titleblacklist. Преимущества — технически может выполнить любой администратор, не труебтся доступ к серверу для собственно окукливания.

Добавляем директивы на страницу MediaWiki:Titleblacklist:

.* <noedit>

запретит правку всем участникам

.* <newaccountonly>

запретит регистрацию новых учётных записей.

Параметром errmsg можно задать системное сообщение, показываемое при ошибке, например |errmsg=titleblacklist-error-noedit будет выводить сообщение из MediaWiki:Titleblacklist-error-noedit

AbuseFilter

Запрещает правку страниц с помощью особых эвристических фильтров, позволяющих применять ограничения к конкретному пространству имён, ограничивать по скорости или запрещать править по маске IP или определённые пространства имён.

Общий синтаксис фильтров:

ПРАВИЛО ОПЕРАТОР ПРАВИЛО ОПЕРАТОР

Правило — регулярное выражение

Оператор — в основном используются & (и), &! (не)

Правила могут быть заданы как

( ПРАВИЛО | ПРАВИЛО )

Что будет означать необходимость только одного из правил


Основные правила:

action == 'edit'

основная директива для реакции на правки

user_editcount

счётчик правок участника. user_editcount < 20 ограничит фильтры пользователями с правками меньше 20.

ip_in_range

адрес в диапазоне: ограничивает фильтр диапазоном адресов.

article_namespace

пространство имён. для примера article_namespace == 2 сработает на правки в пространстве имён «Участник».

contains_any

первый параметр содержит любой из других; применяется для ограничения по группам, например &! contains_any(user_groups,'editor','sysop') запретит срабатывания на патрулирующих и операторов.

article_text

название статьи без префикса пространства имён.

UserRestrictions

См. также