Extension:Lockdown/ru

From MediaWiki.org
Jump to: navigation, search
Справка по расширениям MediaWikiManual:Extensions
Crystal Clear action run.png
Lockdown

Статус релиза:Extension status бета

РеализацияTemplate:Extension#type User rights
ОписаниеTemplate:Extension#description Управление доступом групп участников по пространствам имён
Автор(ы)Template:Extension#username Duesentrieb
MediaWikiTemplate:Extension#mediawiki рекомендуется 1.13+, также работает с 1.9-1.11, не 1.12.
ЛицензияTemplate:Extension#license GPLv2+
Загрузка
README
log
Использованные hook'иTemplate:Extension#hook
userCanManual:Hooks/userCan

Translate the Lockdown extension if it is available at translatewiki.net

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

Внимание Внимание: не работает в версии 1.12! Работает в 1.13+, существует патч для 1.12.

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

Установка[edit]

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

  require_once( "$IP/extensions/Lockdown/Lockdown.php" );

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

  $wgSpecialPageLockdown['Export'] = array('user');
 
  $wgNamespacePermissionLockdown[NS_PROJECT]['edit'] = array('user');

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

Настройка[edit]

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

$wgSpecialPageLockdown[edit]

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

  $wgSpecialPageLockdown['Export'] = array('user');

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

  $wgSpecialPageLockdown[] = array('user');

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

$wgActionLockdown[edit]

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

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

  $wgActionLockdown['history'] = array('user');

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

$wgNamespacePermissionLockdown[edit]

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

  $wgNamespacePermissionLockdown[NS_PROJECT]['edit'] = array('sysop');

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

  $wgNamespacePermissionLockdown[NS_PROJECT]['*'] = array('sysop');
  $wgNamespacePermissionLockdown[NS_PROJECT]['read'] = array('*');

  $wgNamespacePermissionLockdown['*']['move'] = array('autoconfirmed');

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

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

  $wgNamespacePermissionLockdown[NS_MAIN]['patrol'] = array('user');

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

  $wgGroupPermissions['user']['patrol'] = true;

  $wgNamespacePermissionLockdown['*']['patrol'] = array('sysop');
  $wgNamespacePermissionLockdown[NS_MAIN]['patrol'] = array('user');

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

  $wgNamespacePermissionLockdown[NS_PROJECT]['read'] = array('user');
  $wgNonincludableNamespaces[] = NS_PROJECT;

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

  # определение собственных пространств имён
  $wgExtraNamespaces[100] = 'Private';
  $wgExtraNamespaces[101] = 'Private_talk';

  # ограничение разрешения «read» для залогиненных пользователей
  $wgNamespacePermissionLockdown[100]['read'] = array('user');
  $wgNamespacePermissionLockdown[101]['read'] = array('user');

  # предотвращение включения страниц из этого пространства имён
  $wgNonincludableNamespaces[] = 100;
  $wgNonincludableNamespaces[] = 101;

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

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

  # определение констант для собственных пространств имён для расширенной настройки
  define('NS_PRIVATE', 100);
  define('NS_PRIVATE_TALK', 101);

  # определение собственных пространств имён
  $wgExtraNamespaces[NS_PRIVATE] = 'Private';
  $wgExtraNamespaces[NS_PRIVATE_TALK] = 'Private_talk';

  # ограничение разрешения «read» для залогиненных пользователей
  $wgNamespacePermissionLockdown[NS_PRIVATE]['read'] = array('user');
  $wgNamespacePermissionLockdown[NS_PRIVATE_TALK]['read'] = array('user');

  # предотвращение включения страниц из этого пространства имён
  $wgNonincludableNamespaces[] = NS_PRIVATE;
  $wgNonincludableNamespaces[] = NS_PRIVATE_TALK;

Управление группами[edit]

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

$wgGroupPermissions['somegroupname']['read'] = true;

Дополнительные меры защиты[edit]

Сокрытие страниц[edit]

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

Изображения и другие загружаемые файлы[edit]

Изображения и другие загружаемые файлы могут быть просмотрены и включены в любую страницу. Защита пространства имён «Файл» не предотвращает этого. Информацию об ограничении доступа к изображениям вы можете прочитать на странице Manual:Image Authorisation. См. также:

Перенаправления[edit]

Версия MediaWiki: 1.10

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

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

Язык:Project:Language policy English  • 日本語 • 한국어 • русский