Extension:Lockdown/ru

Lockdown — расширение, позволяющее ограничивать доступ участников к определённым пространствам имён и служебным страницам с использованием механизма групп участников. Расширение позволяет более тонко управлять доступом к страницам, чем при помощи имеющихся в ядре настроек Manual:$wgGroupPermissions/ru и Manual:$wgNamespaceProtection/ru. Настройка прав доступа производится на стороне сервера.

Чтоб лучше понять, как работает это расширение и как его настраивать, вы можете прочитать следующие статьи о стандартных настройках безопасности MediaWiki:


 * Права участников в MediaWiki
 * Manual:$wgGroupPermissions/ru

Установка
Поместите файлы расширения, находящиеся в папке Lockdown, в папку /extensions. Затем добавьте следующую строку в конец файла Manual:LocalSettings.php/ru:

Чтобы при помощи расширения ограничить доступ к странице Special:Export и разрешить редактирование пространства имён проекта только зарегистрированным участникам, используйте следующий код:

См. ниже пояснения и другие примеры.

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

$wgSpecialPageLockdown
$wgSpecialPageLockdown позволяет ограничить доступ к любой из служебных страниц для определённых групп участников. Например, чтобы разрешить использовать Special:Export только зарегистрированным пользователям, добавьте следующий код в LocalSettings.php:

Этот код разрешит доступ ко всем служебным страницам только зарегистрированным пользователям.

Некоторые служебные страницы имеют ограничения доступа по умолчанию. Например, для доступа к Special:Userrights необходимо обладать правами «userrights» (по умолчанию имеются только у бюрократов). Это ограничение не может быть изменено при помощи расширения Lockdown.

$wgActionLockdown
Введено в версии: 45703

$wgActionLockdown позволяет ограничить доступ к определённым действиям для некоторых групп участников. Например, чтобы разрешить просматривать историю версий только зарегистрированным участникам, добавьте следующий код в LocalSettings.php:

Доступ к некоторым действиям не может быть запрещён при помощи этой настройки. В частности, она не будет работать для действий, связанных с ajax.

$wgNamespacePermissionLockdown
$wgNamespacePermissionLockdown позволяет изменить права доступа к определённому пространству имён. Например, чтобы разрешить только администраторам править пространство имён проекта, используйте следующий код:

Поддерживаются маски для пространства имён или разрешения (но не для них одновременно). Например, работает следующий код:

Первые две строки разрешают все действия в пространстве имён проекта только администраторам, кроме права их просматривать. Третья строка разрешает переименовывать страницы только автоподтверждённым участникам.

При помощи этого расширения нельзя присвоить новые права, не разрешённые при помощи стандартной настройки $wgGroupPermissions. Следующая строка не позволит всем участникам патрулировать правки в основном пространстве имён:

Вместо этого, вы должны сначала присвоить эти права при помощи $wgGroupPermissions, и только затем ограничить их использование при помощи $wgNamespacePermissionLockdown:

Обратите внимание, что при ограничении чтения определённого пространства имён, это ограничение можно легко обойти, если участник имеет доступ к редактированию любого другого пространства имён: при включении защищённой страницы в качестве шаблона она страновится видимой. Чтобы предотвратить это, вы должны запретить включение страниц из этого пространства имён в другие страницы, добавив ID этого пространства имён в $wgNonincludableNamespaces (эта возможность добавлена в 1.10, ревизии 19934, и доступна в виде расширения для более ранних версий):

Вы также можете использовать Lockdown с дополнительными пространствами имён, определяемыми при помощи $wgExtraNamespaces:

Собственные пространства имён всегда должны добавляться парами: пространство имён (с чётным ID) и связанное с ним пространство обсуждения (с нечётным ID).

Если вы хотите использовать константы для обозначения ваших пространств имён, вы должны определить их:

Управление группами
Вы можете управлять группами участников вики-проекта при помощи страницы Special:Userrights. С её помощью можно присвоить только существующие группы, чтобы создать новую группу, вы должны добавить запись о ней с использованием $wgGroupPermissions (даже если вам не надо устанавливать здесь разрешения, оно должно быть помещено в левой части массива). Например:

Сокрытие страниц
Расширение позволяет предотвратить просмотр содержимого страниц, но не удаляет их из различных списков. Чтобы их скрыть, необходимо установить несколько патчей для MediaWiki. Некоторые неофициальные решения можно посмотреть на странице Extension:Lockdown/hiding_pages. См. также mediawiki-l/2009-June/031231.html.

Изображения и другие загружаемые файлы
Изображения и другие загружаемые файлы могут быть просмотрены и включены в любую страницу. Защита пространства имён «Файл» не предотвращает этого. Информацию об ограничении доступа к изображениям вы можете прочитать на странице Manual:Image Authorisation. См. также:
 * Extension:Simple Security,
 * Extension:SimpleSecurity4
 * Extension:NSFileRepo — для MW 1.13+

Перенаправления
Для MediaWiki 1.10 и более ранних версий: если перенаправление  на страницу P в защищённом пространстве имён PNS будет размещено на любую незащищённую страницу и участник откроет её, он сможет попасть на защищённую страницу вне зависимости от настроек доступа.

Эта проблема отсутствует в MediaWiki 1.11+.