注((元々この[[FAQ/41]]のページは、質問スペースと間違えたユーザが2004-10-23に作成し、すぐに解答がつけられたようですがその後2007-08-19まで放置されていました。2007-08-19現在では内容が古く、また、PukiWIki初心者が見て分かりにくい書き方になっており、公式サイトのFAQとしてふさわしくないので、2007-08-19に書き換えました。オリジナルのソースはコメントアウトしていますのでソースを見るか、2004-10-23から2007-08-19までの間のバックアップをご覧ください。))~ **認証による閲覧制限をかけた秘密ページは出来ますか? [#a48f97a2] -種別 : 運用 -バージョン : -- ***質問 [#d706b659] 公開ページと自分専用のプライベートページをどうやったら分けられますか?~ また、任意のページに対する閲覧・編集・検索でアクセス制御を行うには? ***回答 [#h4721cc4] PukiWiki 1.3の場合は改造が必要になります。詳細は[[dev:PukiWiki/1.3/ちょっと便利に/任意のページごとの閲覧・編集制限]]を参照してください。 PukiWIki 1.4にはBasic認証による閲覧制限機能や編集制限機能があります。 設定するには、pukiwiki.ini.phpの中の以下の部分を書き換えてください。 $auth_users = array( 'Group1' => 'hogehoge', // 閲覧許可グループ名 => パスワード 'Group2' => 'hegehege', // 編集許可グループ => パスワード ); $auth_method_type = "pagename"; // ページ名で制限する $read_auth = 1; // 閲覧許可有効 (0で無効) $read_auth_pages = array( '/^☆.*$/' => 'Group1', // 閲覧制限ページ(正規表現) => 閲覧許可グループ名 ); $edit_auth = 0; // 編集許可有効 (0で無効) $edit_auth_pages = array( '/^.*$/' => 'Group2', // 編集制限ページ(正規表現) => 編集許可グループ名 ); $search_auth = 1; // 検索対象を閲覧可能ページだけに (0で無効) 上の例では、「☆」で始まる名前のページの閲覧に認証が必要になります。参考までに他にもいくつかの具体例を以下に示します。 + すべてのページの編集に認証が必要、「:」で始まるページ名のページの閲覧に認証が必要 $auth_users = array( 'Group1' => 'hogehoge', // 閲覧許可グループ名 => パスワード 'Group2' => 'hegehege', // 編集許可グループ => パスワード ); $auth_method_type = "pagename"; // ページ名で制限する $read_auth = 1; // 閲覧許可有効 (0で無効) $read_auth_pages = array( '/^:.*$/' => 'Group1', // 閲覧制限ページ(正規表現) => 閲覧許可グループ名 ); $edit_auth = 1; // 編集許可有効 (0で無効) $edit_auth_pages = array( '/^.*$/' => 'Group2', // 編集制限ページ(正規表現) => 編集許可グループ名 ); $search_auth = 1; // 検索対象を閲覧可能ページだけに (0で無効) + 閲覧は誰でも自由に、編集だけ制限する $read_auth = 0; $edit_auth = 1; + 全ページに編集制限をかけるが、「☆」で始まるページ名だけは編集制限なし $edit_auth = 1; $edit_auth_pages = array( '/^[^☆].*$/' => 'Group2', // 編集制限ページ(正規表現) => 編集許可グループ名 ); + 全ページに編集制限をかけるが、「ゲストブック」「練習」「掲示板」だけは編集を許可 $edit_auth = 1; $edit_auth_pages = array( '/^((?!^(ゲストブック|練習|掲示板)$).)*$/' => 'Group2', // 編集制限ページ(正規表現) => 編集許可グループ名 ); ~ :Reference| [[正規表現]]~ [[Q&A/運営]]~ [[質問箱/308]]~ [[dev:PukiWiki/1.3/ちょっと便利に/任意のページごとの閲覧・編集制限]]~ [[dev:PukiWiki/1.4/ちょっと便利に/任意のページごとの閲覧・編集制限]]~ //_/_/_/_/_/_/_/_/ ここから2004-2007/08のソース //_/_/_/ trackerのエラー回避のため、中見出しと小見出しだけ書き換えてあります。 // //[中見出し(trackerのエラー回避)]秘密ページは出来ますか? [#a48f97a2] //-種別 : 動作環境 //-バージョン : -- //[小見出し(trackerのエラー回避)]質問 [#d706b659] //私は公有ページとプライベートページがありますので、どうやって分けられる? // //例えば、別のDirectoryで? //[小見出し(trackerのエラー回避)]回答 [#h4721cc4] // //追記: //対象ページを参考しましたが、まだ分からない。 //例えば、php.ini で、下記を入れて: // '/DeepSecret/' => 'hoge', // //新しいページを作るときに、どうやってページをDirectoryに入れる? //例えば、「新規」ボタンを押した、「 /secret/pagename 」を入力しましたが、誰でも見えちゃう、、、 // //>> 英語で: //i created the directory entries in the ...php.ini //but now how do i create new pages to be inside the "secret" directory? //I tried "new page" // /secret/pagename //as the page name, but the / gets escaped to a safecode it looks like. // //手伝ってくれて、さきにありがとうございます。 //thanks in advance for any help! // //:Reference| //[[dev::CategoryDev/Document/pukiwiki.ini.php]]~ //[[dev:PukiWiki/1.4/ちょっと便利に/任意のページごとの閲覧・編集制限]] // //---- //see also [[質問箱/308]]. // //Check $auth_method_type and $read_auth in 'pukiwiki.ini.php'. // $auth_method_type = 'pagename' // $read_auth = 1; // //FAQ is not a question page, but summary page of frequently asked question and its answer.A question is to [[続・質問箱]].