* 雛形とするページを読むことで、アクセス制限をかけたページを覗くことができる [#vac5a044] - 元タイトル: セキュリティーBug:編集時、雛形とするページを読むことでアクセス制限をかけられているページが見れる -ページ: BugTrack -投稿者: [[ななみ]] -優先順位: 普通 -状態: 提案 -カテゴリー: 本体バグ -投稿日: 2004-05-15 (土) 03:59:07 -バージョン: PukiWiki 1.4.3 **メッセージ [#nc7c651b] うちでは.htpasswdで独自のアクセス制御を勝手に追加してやってるのですが pukiwiki.ini.phpの以下の内容の制御を最終的に使用しています。 ///////////////////////////////////////////////// // 閲覧認証フラグ // 0:不要 // 1:必要 $read_auth = 1; ///////////////////////////////////////////////// // 閲覧認証対象パターン定義 $read_auth_pages = array( '/ひきこもるほげ/' => 'hoge', '/(ネタバレ|ねたばれ)/' => 'foo,bar,hoge', ); しかし、現状のままですと、編集画面の雛形読み込みで 内容が丸見えになってしまいますTT 以下のような変更を提案してみます。 html.php 147行目付近 if($load_template_func and $b_template) { $_pages = get_existpages(); $pages = array(); foreach($_pages as $_page) { if ($_page == $whatsnew or preg_match("/$non_list/",$_page)) { continue; } > if(!check_readable($_page,false,false)) { > continue; } $s_page = htmlspecialchars($_page); $pages[$_page] = " <option value=\"$s_page\">$s_page</option>"; } ksort($pages); $s_pages = join("\n",$pages); $template = <<<EOD <select name="template_page"> <option value="">-- $_btn_template --</option> $s_pages </select> <input type="submit" name="template" value="$_btn_load" accesskey="r" /> <br /> EOD; ---- -雛形読み込みの実際の部分でも制御する必要あると思いますが、どのモジュールかがわかりません;; -- [[ななみ]] &new{2004-05-15 (土) 04:04:17}; -1.4.4でも修正されていませんので、優先順位を一つ上げて"緊急"とします。 -- [[Ratbeta]] &new{2004-09-20 (月) 12:03:15}; -これはですね、*.ini.php にて $load_template_func を 0 に、つまりテンプレートの読み込みボックス自体をなくしてしまうことで回避可能かと思っています。上にあるhtml.phpの先頭部でその値をチェックしていることからもわかる通り、その行には到達しなくなります。そういう意味ではセキュリティ上の問題ではなく、運用ポリシーと設定との兼ね合いの問題と捉えています。 -- [[henoheno]] &new{2004-09-20 (月) 12:08:34}; -ということで、ひとまずコメントができたので、「普通」に下げておきます。 -- [[henoheno]] &new{2004-09-20 (月) 12:11:57}; -その設定が見当たらないのですが…。それに、それでは根本的な解決にはならないと思います…。 -- [[Ratbeta]] &new{2004-09-20 (月) 12:14:53}; -$load_template_func は 1.4.4 では default/keitai.ini.php にあります。 -- [[henoheno]] &new{2004-09-20 (月) 12:23:32}; -あら…ありましたね…。失礼しました…。 -- [[Ratbeta]] &new{2004-09-20 (月) 12:27:04}; -む (^^; 私の今までの認識に反し、緊急に直すべき症状を確認しました。ちょっと検討します。 -- [[henoheno]] &new{2004-09-20 (月) 13:02:41}; -- [[cvs:plugin/edit.inc.php]] (v1.4:1.16) 12c12 < global $vars, $_title_edit; --- > global $vars, $_title_edit, $load_template_func; 18c18 < if (isset($vars['preview']) or isset($vars['template'])) { --- > if (isset($vars['preview']) || ($load_template_func && isset($vars['template']))) { -templateの選択結果を「受ける」部分にチェック漏れありました。上のhtml.phpのパッチや $load_template_func の設定を''無視して'' 特定のページの中身を覗くことが可能でしたので、これを修正しました。 -- [[henoheno]] &new{2004-09-20 (月) 13:19:03}; -これで、残りは「テンプレート読み込みの機能に閲覧認証を反映して欲しい」という提案だけですね。 -- [[henoheno]] &new{2004-09-20 (月) 13:27:36}; #comment