pukiwikiにBasic認証

pukiwikiには凍結という機能があってブラウザ上から指定することによりページの編集を不可とすることができるが
一度作ったページに対する制御なので、新規ページ作成を抑制することができない。

今日、スパム的なページを作成されていたので対策することにした。
調べると、pukiwiki.ini.phpを編集するたけでよかった。

$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'
);

'ユーザ名' => 'パスワード'の形式で追加。
パスワードはmd5して指定する場合は'{x-php-md5}パスワードをMD5した値'という形式で指定する。

平文で指定する場合は'パスワード'という形式で指定する。お薦めはしない。
md5はブラウザ上から取得してもよい。http://ドメイン名/pukiwiki/index.php?cmd=md5という形で呼び出して確認できる。
$auth_method_type	= 'pagename';	// By Page name
//$auth_method_type = 'contents'; // By Page contents
(中略)
$read_auth = 0;
$edit_auth = 1;
(中略)
$read_auth_pages = array(
// Regex Username
'#HogeHoge#' => 'hoge',
'#(NETABARE|NetaBare)#' => 'foo,bar,hoge',
);
$edit_auth_pages = array(
// Regex Username
'#BarDiary#' => 'bar',
'#HogeHoge#' => 'hoge',
'#(NETABARE|NetaBare)#' => 'foo,bar,hoge',
);

ページ名で制御する場合は$auth_method_type = 'pagename'
ページ内容で制御する場合は$auth_method_type = 'contents'
参照する場合の認証は$read_auth = 1;
参照する場合の制御は$read_auth_pagesに定義を追加する。
編集する場合の認証は$edit_auth = 1;
編集する場合の制御は$edit_auth_pagesに定義を追加する。
いずれもページの指定は正規表現で行う。

いじょ
入門Wiki―みんなで投稿/編集できるWebの作りかた
竹添 直樹
毎日コミュニケーションズ
売り上げランキング: 236678
おすすめ度の平均: 5.0
5 入門Wiki