pukiwikiで管理者のみが編集できるように制限する

PUKIWIKIのインストール後の状態は、無制限でページの作成、編集ができる状態です。運用方法にもよりますが、この状態ではスパムの要因になってしまいます。

オンプレミスでイントラネットからのアクセスのみに制限されていれば、PUKIWIKI側で編集に制限を掛ける必要はないかもしれませんが、インターネットから参照できる場合は、最低限でも制限を掛けた方が良いでしょう。

.ini.phpを編集する

  1. 認証するユーザを登録
  2. 認証の単位(ページ単位など)を設定
  3. 編集権限を与えるユーザを登録

認証するユーザを登録します

登録前(デフォルト)の状態

// User definition
$auth_users = array(
        // Username => password
        'foo'   => 'foo_passwd', // Cleartext
        'bar'   => '{x-php-md5}f53ae779077e987718cc285b14dfbe86', // PHP md5() 'bar_passwd'
        'hoge'  => '{SMD5}OzJo/boHwM4q5R+g7LCOx2xGMkFKRVEx',      // LDAP SMD5 'hoge_passwd'
);

サンプルはadminを登録しています。次のように登録内容します。

'admin' => '{x-php-md5}md5暗号化したパスワード',

登録後の状態

// User definition
$auth_users = array(
        // Username => password
        'admin' => '{x-php-md5}md5暗号化したパスワード',
        'foo'   => 'foo_passwd', // Cleartext
        'bar'   => '{x-php-md5}f53ae779077e987718cc285b14dfbe86', // PHP md5() 'bar_passwd'
        'hoge'  => '{SMD5}OzJo/boHwM4q5R+g7LCOx2xGMkFKRVEx',      // LDAP SMD5 'hoge_passwd'
);

認証の単位設定を確認します

$auth_method_type       = 'pagename';   // By Page name

デフォルトはページ毎に認証する設定

編集権限を与えるユーザを登録

登録前の状態

/////////////////////////////////////////////////
// Edit auth (0:Disable, 1:Enable)
$edit_auth = 0;

$edit_auth_pages = array(
        // Regex                   Username
        '#BarDiary#'            => 'bar',
        '#HogeHoge#'            => 'hoge',
        '#(NETABARE|NetaBare)#' => 'foo,bar,hoge',
);

サンプルでは、adminに対してすべてのページに対する編集権限を与えています

登録後の状態

/////////////////////////////////////////////////
// Edit auth (0:Disable, 1:Enable)
$edit_auth = 1;

$edit_auth_pages = array(
        // Regex                   Username
        '##'                    => 'admin',
        '#BarDiary#'            => 'bar',
        '#HogeHoge#'            => 'hoge',
        '#(NETABARE|NetaBare)#' => 'foo,bar,hoge',
);

この設定で、作成や編集時にログイン要求があがります。

スポンサーリンク
spdsk-side
spdsk-side