BugTrack/2174
の編集
Top
/
BugTrack
/
2174
[
トップ
] [
編集
|
差分
|
履歴
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
* 閲覧権限のないページでも,そのページ名がlistなどで閲覧できる [#u5a9fb71] - ページ: [[BugTrack2]] - 投稿者: [[しましま]] - 優先順位: 重要 - 状態: 提案 - カテゴリー: 本体バグ - 投稿日: 2006-04-22 (土) 01:39:09 - バージョン: 1.4.6 #contents ----- ** メッセージ [#r743ffaa] listやrecentなどのプラグインで,閲覧権限のないページでも,そのページ名が閲覧できてしまいます.そのため,ページの存在は隠匿できません. list プラグインは自力で書いてみました.(PHPもPukiWikiの構成も全く分かってないので,自分でもかなり冗長だと思います.もっとまともなコードをお教えください.) --- list.inc.php.orig 2006-04-20 22:37:45.000000000 +0900 +++ list.inc.php 2006-04-22 01:06:20.000000000 +0900 @@ -21,7 +21,14 @@ { global $non_list, $whatsnew; - $pages = array_diff(get_existpages(), array($whatsnew)); + $pages = array(); + $files = get_existpages(); + foreach (array_keys($files) as $_file) { + $_page = $files[$_file]; + if ($_page == $whatsnew || + (! check_readable($_page, false, false)) ) continue; + $pages[$_file] = $_page; + } if (! $withfilename) $pages = array_diff($pages, preg_grep('/' . $non_list . '/', $pages)); if (empty($pages)) return ''; しかし,これは list プラグインだけで済む問題ではないと思います.recent や RecentDeleted など関連するプラグインは多数あります.特に,ls2 プラグインと tilte オプションを使うと,セクションタイトルだけですが,閲覧権限のないページも見えてしまいます. そこで,get_existpages と同様に,readable なページを全て返す関数 get_readablepages が必要ではないでしょうか?この関数があれば,多くの場合,get_exstpages を get_readablepages と置き換えるだけで済むと思います. また,閲覧権限のないページの名前が見えてもよい場合を考えて,pukiwiki.ini.php に $list_if_readable といったフラグを作り,これが 1 ならリストへの閲覧許可のないページの名前の表示が抑制されるとよいと思います. *[[関連>PukiWiki/1.4/ちょっと便利に/任意のページごとの閲覧・編集制限/関連ページ]] [#l74bae8c] #include(PukiWiki/1.4/ちょっと便利に/任意のページごとの閲覧・編集制限/関連ページ,notitle) -------- *コメント [#v8400efc] - ページ名を見せたくないものは $non_list で抑止するという思想だとおもいます。 -- [[teanan]] &new{2006-04-22 (土) 02:24:52}; -- そのような書き込みも拝見しました.non_list の大きな問題は,閲覧権限に関わりなく,全ての利用者が一律に制限を受けることです.non_list を閲覧権限の狭いユーザに合わせると,閲覧権限の広いユーザは,一覧で見えないページが多数できてしまいます.~ non_list で行うポリシーなら, non_list も edit_auth_pages のような array にする方法でも,上記の問題は回避できると思います. -- [[しましま]] &new{2006-04-22 (土) 10:22:09}; - うーん、ユーザ管理の部分についてはPukiWikiの苦手とする部分ですね (^^; ソースコード上の話をしますと、もう少しで$non_listの処理部分が一箇所にまとまり%%ます%%そうです。そのあとなら、このようなハックも書きやすくなると思います。現状の構成だと、かな~り面倒そうです (^^; -- [[teanan]] &new{2006-04-23 (日) 03:00:06}; -- 現状でこの点に手を出すのは大変そうですね.このあたりの再編が終わってから対処を考えます.~ どうもありがとうございました. -- [[しましま]] &new{2006-04-23 (日) 11:36:23}; #comment
タイムスタンプを変更しない
* 閲覧権限のないページでも,そのページ名がlistなどで閲覧できる [#u5a9fb71] - ページ: [[BugTrack2]] - 投稿者: [[しましま]] - 優先順位: 重要 - 状態: 提案 - カテゴリー: 本体バグ - 投稿日: 2006-04-22 (土) 01:39:09 - バージョン: 1.4.6 #contents ----- ** メッセージ [#r743ffaa] listやrecentなどのプラグインで,閲覧権限のないページでも,そのページ名が閲覧できてしまいます.そのため,ページの存在は隠匿できません. list プラグインは自力で書いてみました.(PHPもPukiWikiの構成も全く分かってないので,自分でもかなり冗長だと思います.もっとまともなコードをお教えください.) --- list.inc.php.orig 2006-04-20 22:37:45.000000000 +0900 +++ list.inc.php 2006-04-22 01:06:20.000000000 +0900 @@ -21,7 +21,14 @@ { global $non_list, $whatsnew; - $pages = array_diff(get_existpages(), array($whatsnew)); + $pages = array(); + $files = get_existpages(); + foreach (array_keys($files) as $_file) { + $_page = $files[$_file]; + if ($_page == $whatsnew || + (! check_readable($_page, false, false)) ) continue; + $pages[$_file] = $_page; + } if (! $withfilename) $pages = array_diff($pages, preg_grep('/' . $non_list . '/', $pages)); if (empty($pages)) return ''; しかし,これは list プラグインだけで済む問題ではないと思います.recent や RecentDeleted など関連するプラグインは多数あります.特に,ls2 プラグインと tilte オプションを使うと,セクションタイトルだけですが,閲覧権限のないページも見えてしまいます. そこで,get_existpages と同様に,readable なページを全て返す関数 get_readablepages が必要ではないでしょうか?この関数があれば,多くの場合,get_exstpages を get_readablepages と置き換えるだけで済むと思います. また,閲覧権限のないページの名前が見えてもよい場合を考えて,pukiwiki.ini.php に $list_if_readable といったフラグを作り,これが 1 ならリストへの閲覧許可のないページの名前の表示が抑制されるとよいと思います. *[[関連>PukiWiki/1.4/ちょっと便利に/任意のページごとの閲覧・編集制限/関連ページ]] [#l74bae8c] #include(PukiWiki/1.4/ちょっと便利に/任意のページごとの閲覧・編集制限/関連ページ,notitle) -------- *コメント [#v8400efc] - ページ名を見せたくないものは $non_list で抑止するという思想だとおもいます。 -- [[teanan]] &new{2006-04-22 (土) 02:24:52}; -- そのような書き込みも拝見しました.non_list の大きな問題は,閲覧権限に関わりなく,全ての利用者が一律に制限を受けることです.non_list を閲覧権限の狭いユーザに合わせると,閲覧権限の広いユーザは,一覧で見えないページが多数できてしまいます.~ non_list で行うポリシーなら, non_list も edit_auth_pages のような array にする方法でも,上記の問題は回避できると思います. -- [[しましま]] &new{2006-04-22 (土) 10:22:09}; - うーん、ユーザ管理の部分についてはPukiWikiの苦手とする部分ですね (^^; ソースコード上の話をしますと、もう少しで$non_listの処理部分が一箇所にまとまり%%ます%%そうです。そのあとなら、このようなハックも書きやすくなると思います。現状の構成だと、かな~り面倒そうです (^^; -- [[teanan]] &new{2006-04-23 (日) 03:00:06}; -- 現状でこの点に手を出すのは大変そうですね.このあたりの再編が終わってから対処を考えます.~ どうもありがとうございました. -- [[しましま]] &new{2006-04-23 (日) 11:36:23}; #comment
テキスト整形のルールを表示する