Mediawikiのカスタマイズ(11) 特別ページの閲覧制限

  • 投稿日:
  • by
  • カテゴリ:

Mediawikiでは通常のコンテンツだけでなく特別ページも一部を除いて,誰でも閲覧可能になっている。
しかし,個人でWikiを運用している場合,特別ページの閲覧を制限したいことがある。
特に気になるのはデータの外部書き出しなどだろうか。
自分の運営するサイトのコンテンツをまとめてコピーできる機能を誰でも使えるというのは,好ましくない場合もあるだろう。

特別ページの閲覧制限はLockdownエクステンションを利用することによって実現できる。
なお,LockdownエクステンションはMediawkiのバージョン1.12では利用できないということなので注意が必要である。
管理人は1.16.0で作業を行った。

Extension:Lockdown/ja

1.エクステンションの導入

(1)上記ページより取得したファイルをextensionsディレクトリにコピー
  ファイルが複数あるのでextentionsディレクトリの下にLockdownなどという名前のディレクトリを作成し,その中にまとめて入れるとよい。

(2)LocalSettings.phpの編集
下記の1行を追加する

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

2.エクステンションの設定

閲覧制限の設定もLocalSettings.phpを編集して行う。
個別の特別ページの閲覧を特定のグループに制限するには,

$wgSpecialPageLockdown['ページ名'] = array('グループ名');

のように記述する。
ページデータの書き出しをsysopのみに限定する場合は次のようになる。

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

ページ名は,日本語で運用している場合であっても,「ページデータの書き出し」ではなく「Export」のように英語で定義されているものを指定する必要がある。
ページ名の定義はincludesディレクトリの中にあるSpecialPage.phpにあるので,それを参照する。

-->