#author("2017-09-10T00:01:44+09:00;2007-12-03T13:29:25+09:00","","")
* convert_html()で無駄なdigest生成をしている [#tb61a341]

- ページ: [[BugTrack2]]
- 投稿者: [[ぃぉぃぉ]]
- 優先順位: 低
- 状態: 提案
- カテゴリー: 本体バグ
- 投稿日: 2007-11-28 (水) 02:30:07
- バージョン: 1.4.7

** メッセージ [#x5fced8c]
lib/convert_html.phpのfunction convert_html()で

	// Set digest
	$digest = md5(join('', get_source($vars['page'])));
とglobal変数の$digestの生成をしていますが、この値は他から使用されていません。

digest値の主な使用目的と思われるplugin/edit.inc.phpのplugin_edit_write()では、postされたvars['digest']を使用しているのみです。このvars['digest']は一発目のedit_form表示時に計算され、convert_html時の値は使用されていません。

ということで、convert_html()の
	// Set digest
	$digest = md5(join('', get_source($vars['page'])));
は削除して良いと思います。通常表示では、これが2度呼ばれているので、無駄な負荷を減らせます。&br;
skinから呼ばれるdo_menu_convertによるmenubar表示時のconvert_htmlでも、menubarではなくそのとき表示しようとするページのdigestを計算しています。($vars['page']はmenubarではなく、表示するページが入っているため)
--------
- [[PukiWiki/1.4/ちょっと便利に/任意のページごとの閲覧・編集制限/未対応プラグインを暫定的に保護するための認証実装方法案]]実装時に発見。 -- [[ぃぉぃぉ]] &new{2007-11-28 (水) 02:34:12};
- [[PukiWiki/1.4/ちょっと便利に/任意のページごとの閲覧・編集制限/未対応プラグイン対策]]実装時に発見。 -- [[ぃぉぃぉ]] &new{2007-11-28 (水) 02:34:12};

- 次の2点も見直す必要があるのでは? --  &new{2007-12-03 (月) 13:29:25};
++ lib/plugin.php のdo_plugin_convert() とdo_plugin_inline() からglobal変数の$digest を保持する機構((include プラグインなど$vars['page'] の値を一時的に書き換えて、convert_html() するもの対策と思われる))を外す。
++ plugin_article_convert() と、plugin_comment_convert() 、plugin_insert_convert() 、plugin_memo_convert() 、plugin_paint_convert() 、plugin_vote_convert() でglobal変数の$digest ではなく、自力で生成するように変更する((同じページで複数回呼ばれてもいいようにstatic を使って保持する方がいい?))。


#comment

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.049 sec.

OSDN