コミットメタ情報

リビジョンd4db227e918a2f4edf4bb4d5527308887cbbabf2 (tree)
日時2018-12-27 01:30:40
作者umorigu <umorigu@gmai...>
コミッターumorigu

ログメッセージ

BugTrack/2263 back.inc.php - Fix URL back link

変更サマリ

差分

--- a/plugin/back.inc.php
+++ b/plugin/back.inc.php
@@ -2,7 +2,7 @@
22 // PukiWiki - Yet another WikiWikiWeb clone.
33 // back.inc.php
44 // Copyright
5-// 2003-2016 PukiWiki Development Team
5+// 2003-2018 PukiWiki Development Team
66 // 2002 Katsumi Saito <katsumi@jo1upk.ymt.prug.or.jp>
77 //
88 // back plugin
@@ -43,16 +43,24 @@ function plugin_back_convert()
4343 if ($href != '') {
4444 if (PLUGIN_BACK_ALLOW_PAGELINK) {
4545 if (is_url($href)) {
46- $href = rawurlencode($href);
46+ $href = htmlsc($href);
4747 } else {
48+ $refer = isset($vars['page']) ? $vars['page'] : '';
4849 $array = anchor_explode($href);
49- $array[0] = rawurlencode($array[0]);
50- $array[1] = ($array[1] != '') ? '#' . rawurlencode($array[1]) : '';
51- $href = $script . '?' . $array[0] . $array[1];
52- $link = is_page($array[0]);
50+ $page = get_fullname($array[0], $refer);
51+ if (! is_pagename($page)) {
52+ return PLUGIN_BACK_USAGE;
53+ }
54+ $anchor = ($array[1] != '') ? '#' . rawurlencode($array[1]) : '';
55+ $href = get_page_uri($page) . $anchor;
56+ $link = is_page($page);
5357 }
5458 } else {
55- $href = rawurlencode($href);
59+ if (is_url($href)) {
60+ $href = htmlsc($href);
61+ } else {
62+ return PLUGIN_BACK_USAGE . ': Set a page name or an URI';
63+ }
5664 }
5765 } else {
5866 if (! PLUGIN_BACK_ALLOW_JAVASCRIPT)
旧リポジトリブラウザで表示