PukiWiki/1.4/ちょっと便利に/任意のページごとの閲覧・編集制限/未対応プラグイン対策
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*認証の実装を考える [#m4b3090c]
2007-11-27 (火) 01:49:49
&br;「PukiWiki/1.4/ちょっと便利に/任意のページごとの閲覧...
#contents
*現状について [#w84c0222]
[[PukiWiki/1.4/ちょっと便利に/任意のページごとの閲覧・編...
*必要と思われる対応 [#he3e763c]
**案1 [#q59d48be]
pukiwiki.ini.phpのauth関連の設定箇所に、「未対応のplugin...
**案2 [#p0fd0b6b]
現状について、で書いたように、get_sourceやfileを使用して...
&br;基本的には各プラグインで対応するが、万一漏れていたら...
***編集制限対策案 [#c27cc7aa]
lib/file.phpのfunction file_write()で編集認証チェックをす...
function file_write($dir, $page, $str, $notimestamp = FA...
{
global $_msg_invalidiwn, $notify, $notify_diff_only, $n...
global $whatsdeleted, $maxshow_deleted;
+ global $editable_flag;
if (PKWK_READONLY) return; // Do nothing
+ if (defined('PKWK_SECURITY_READONLY')) return; // Do n...
+ if (!$editable_flag && !check_editable($page, FALSE, F...
+ die('file_write(): not editable');
+ }
if ($dir != DATA_DIR && $dir != DIFF_DIR) die('file_wri...
とする。(注 $editable_flagのチェックはcheck_editableより...
~明示的に編集認証を無視する場合には、
global $editable_flag;
$editable_flag = TRUE;
を記載する。プラグイン「rename.inc.php」や「unfreeze.inc....
&br;#commentのように、(一部の人は)書き込み認証に関係なく...
die()の代わりにreturnとするのでも良いだろう。ただ、本来pl...
***閲覧制限対策案 [#le6fa921]
lib/file.phpのfunction get_source()で閲覧権限認証チェック...
function get_source($page = NULL, $lock = TRUE, $join = ...
{
+ global $readable_flag;
$result = $join ? '' : array();
if (is_page($page)) {
+ if (!$readable_flag && !check_readable($page, FALSE, ...
+ die('get_source(): not readable');
+ }
$path = get_filename($page);
ないとは思うが、プラグイン等で閲覧認証を回避したい場合には
global $redable_flag;
$redable_flag = TRUE;
とする。
&br;
die()部分については編集認証と同様でreturnとする案もある。
-対応必要箇所
--lib/convert_html.php
convert_html()でdigest生成のためにget_sourceを呼んでいる...
function convert_html($lines)
{
global $vars, $digest;
static $contents_id = 0;
--- // Set digest
--- $digest = md5(join('', get_source($vars['page'])));
*[[関連>PukiWiki/1.4/ちょっと便利に/任意のページごとの閲...
#include(PukiWiki/1.4/ちょっと便利に/任意のページごとの閲...
----
* コメント [#x4956654]
- 提案ありがとうございます。集中管理できるならそれに越し...
- この提案は、この改造のみによって安全性を確保するのが目...
-- 各プラグインと、file_wirte()でと、2度のチェックになり...
- c.f. [[BugTrack2/291]] -- [[ぃぉぃぉ]] &new{2007-11-28 ...
- c.f. [[BugTrack2/292]] -- [[ぃぉぃぉ]] &new{2007-11-29 ...
- プラグイン側で書き込みを拒否できるように、PKWK_SECURITY...
- ↑をどこに追加したのかすぐに判らなかったのでリンク...
#comment
終了行:
*認証の実装を考える [#m4b3090c]
2007-11-27 (火) 01:49:49
&br;「PukiWiki/1.4/ちょっと便利に/任意のページごとの閲覧...
#contents
*現状について [#w84c0222]
[[PukiWiki/1.4/ちょっと便利に/任意のページごとの閲覧・編...
*必要と思われる対応 [#he3e763c]
**案1 [#q59d48be]
pukiwiki.ini.phpのauth関連の設定箇所に、「未対応のplugin...
**案2 [#p0fd0b6b]
現状について、で書いたように、get_sourceやfileを使用して...
&br;基本的には各プラグインで対応するが、万一漏れていたら...
***編集制限対策案 [#c27cc7aa]
lib/file.phpのfunction file_write()で編集認証チェックをす...
function file_write($dir, $page, $str, $notimestamp = FA...
{
global $_msg_invalidiwn, $notify, $notify_diff_only, $n...
global $whatsdeleted, $maxshow_deleted;
+ global $editable_flag;
if (PKWK_READONLY) return; // Do nothing
+ if (defined('PKWK_SECURITY_READONLY')) return; // Do n...
+ if (!$editable_flag && !check_editable($page, FALSE, F...
+ die('file_write(): not editable');
+ }
if ($dir != DATA_DIR && $dir != DIFF_DIR) die('file_wri...
とする。(注 $editable_flagのチェックはcheck_editableより...
~明示的に編集認証を無視する場合には、
global $editable_flag;
$editable_flag = TRUE;
を記載する。プラグイン「rename.inc.php」や「unfreeze.inc....
&br;#commentのように、(一部の人は)書き込み認証に関係なく...
die()の代わりにreturnとするのでも良いだろう。ただ、本来pl...
***閲覧制限対策案 [#le6fa921]
lib/file.phpのfunction get_source()で閲覧権限認証チェック...
function get_source($page = NULL, $lock = TRUE, $join = ...
{
+ global $readable_flag;
$result = $join ? '' : array();
if (is_page($page)) {
+ if (!$readable_flag && !check_readable($page, FALSE, ...
+ die('get_source(): not readable');
+ }
$path = get_filename($page);
ないとは思うが、プラグイン等で閲覧認証を回避したい場合には
global $redable_flag;
$redable_flag = TRUE;
とする。
&br;
die()部分については編集認証と同様でreturnとする案もある。
-対応必要箇所
--lib/convert_html.php
convert_html()でdigest生成のためにget_sourceを呼んでいる...
function convert_html($lines)
{
global $vars, $digest;
static $contents_id = 0;
--- // Set digest
--- $digest = md5(join('', get_source($vars['page'])));
*[[関連>PukiWiki/1.4/ちょっと便利に/任意のページごとの閲...
#include(PukiWiki/1.4/ちょっと便利に/任意のページごとの閲...
----
* コメント [#x4956654]
- 提案ありがとうございます。集中管理できるならそれに越し...
- この提案は、この改造のみによって安全性を確保するのが目...
-- 各プラグインと、file_wirte()でと、2度のチェックになり...
- c.f. [[BugTrack2/291]] -- [[ぃぉぃぉ]] &new{2007-11-28 ...
- c.f. [[BugTrack2/292]] -- [[ぃぉぃぉ]] &new{2007-11-29 ...
- プラグイン側で書き込みを拒否できるように、PKWK_SECURITY...
- ↑をどこに追加したのかすぐに判らなかったのでリンク...
#comment
ページ名: