Extension:Lockdown/ja

Lockdown拡張機能は、指定したユーザーグループに対して特定の名前空間と特別なページに対するアクセスを制限する方法を実装します. これはデフォルトの$wgGroupPermissions と$wgNamespaceProtection設定によって提供されたものよりも粒度が細かいセキュリティモデルを提供します.

デフォルトでMediaWikiが使用しているセキュリティモデルを理解するためには下記の手引きが手助けになるでしょう:
 * Manual:User rights/ja
 * Manual:$wgGroupPermissions/ja

インストール
lockdownディレクトリをMediaWikiインストレーションのextensionフォルダにコピーして下さい. それから次の行をLocalSettings.phpファイルに追加して下さい(終わり近辺):

To use Lockdown to prevent access to Special:Export and restrict editing of the project namespace to logged in users (registered users), you can then use the following:

See below for an explanation and more examples.

構成
Note that the Lockdown拡張機能は*権限を与える*のではなくアクセスを制限するためのみに使われることに注意して下さい. MediaWikiの組み込み設定によってアクセスが拒否される場合、Lockdown拡張機能の使用は許可されていません.

$wgSpecialPageLockdown
$wgSpecialPageLockdownによってユーザグループがアクセス権限を持つ特別ページを個別に指定できるようになります. 例えば、Special:Exportの使用をログインユーザに限定する場合、次の設定をLocalSettings.phpで使います:

特別ページの中には"ネイティブに"特定のパーミッションを要求するものがあることに注意して下さい. 例えば、Special:Userrights、はユーザグループを割り当てするために使用されますが、"userrights"パーミッションが要求されます(デフォルトでは"bureaucrat"グループのみに付与されます). この制限はLockdown拡張機能を利用してオーバーライドすることはできません.

Some special page titles not capitalized the way they appear on-wiki. For instance, Special:RecentChanges is Recentchanges internally, so to restrict it you need:

A full list of special page titles is available in /includes/specials/.

$wgActionLockdown
$wgActionLockdown allows you to specify for each action which user groups have access to it. For example, to limit the use of the history page to logged in users, use this in LocalSettings.php:

Note that some actions can not be locked down this way. In particular, it will not work for the ajax action.

$wgNamespacePermissionLockdown
$wgNamespacePermissionLockdownによってユーザーグループがどの名前空間のどのパーミッションを利用できるか制限できます. 例えば、project名前空間に対する書き込み権限をsysopグループのメンバーのみに付与するためには、次の設定を使用します:

名前空間もしくはパーミッションのどちらか(一度に両方はできません)に対してワイルドカードがサポートされます. より詳細な定義が優先されます:

最初の2つの行はproject名前空間でのすべてのパーミションをsysopグループに対して制限しますが、まだ誰でも読み込みできます. 三番目の行はすべての名前空間におけるページの移動をautoconfirmedグループに制限します.

組み込みの$wgGroupPermissions設定によって許可されないパーミッションを付与できないことに注意して下さい. 次の行は通常のユーザーがmainの名前空間で編集をパトロールすることを許可*していません*:

代わりに、最初に$wgGroupPermissionsでこの権限を付与して、$wgNamespacePermissionLockdownを使用して再び制限しなければなりません:

名前空間に対する閲覧権限を制限するとき、ユーザが別の名前空間に対して書き込み権限を持つ場合、制限は簡単に回避できます: 閲覧が制限されたページをテンプレートとしてインクルードすることによって、簡単に見えるようになります. これを回避するために、名前空間のIDを$wgNonincludableNamespacesに追加することで、その名前空間をテンプレートとしてページに利用することを禁止しなければなりません(この機能はMediaWiki 1.10のリビジョン19934で導入されました):

$wgExtraNamespacesを利用してカスタムの名前空間と一緒にLockdownを使用することもできます:

カスタムの名前空間は常にペア、対象となる名前空間(偶数のid)と関連したtalk名前空間(奇数のid)、で定義すべきであることに注意して下さい.

名前空間を参照する定数を使いたい場合、次のように定義する必要があります:

グループの保守
You can control which user belongs to which groups with the page Special:Userrights. Only existing groups will be proposed, but you can "create" a new group by creating an entry for it in Manual:$wgGroupPermissions (even if you don't actually need to set a permission there, but it has to appear on the left hand side of the array). For example:

For more information, see Help:User rights, Manual:User rights, and Manual:User rights management.

ページを隠す
Lockdown拡張機能はページの内容を表示されるのを防止しますが、一覧からアクセスできないページを除去できません. これらのページを隠すためには、MediaWikiにいくつかのパッチを適用しなければなりません. (非公式の)いくつかの提案はExtension:Lockdown/hiding_pagesを参照して下さい. See also mediawiki-l/2009-June/031231.html.

画像と他のアップロードされたファイル
画像と他のアップロードされたファイルは閲覧可能でどのページにもインクルードできます. Image名前空間の保護ではインクルードを防止できません. 画像に対して認証されていないアクセスを防止する方法に関してはManual:Image Authorisation/jaを参照して下さい. See also:
 * Extension:Simple Security,
 * Extension:SimpleSecurity4
 * Extension:NSFileRepo - MW 1.13 and after

リダイレクト
MediaWiki 1.10とそれ以降: 保護されているPNS名前空間内でPページへの リダイレクトが保護されていないページに設置されていてページがロードされていると、ユーザが必要なユーザグループに所属しているにもかかわらず、ユーザは保護されたページに導かれます.

この問題はMediaWiki 1.11とそれ以降では存在しないようです.

関連項目

 * Extension:PrivatePageProtection for per-page access control
 * Extension:Access Control Panel