http://redmine.openpne.jp/
http://redmine.openpne.jp/favicon.ico
2011-03-17T05:01:55Z
OpenPNE Issue Tracking System
OpenPNE 3 - Bug(バグ) #1955: 管理画面のナビゲーションフォームでナビゲーションのURLとして想定しない文字列が入力された場合、エラーメッセージを表示するように対処する
http://redmine.openpne.jp/issues/1955?journal_id=7610
2011-03-17T05:01:55Z
Shinichi Urabe
urabe+op3@nuts-choco.com
<ul><li><strong>題名</strong> を <i>ナビゲーションでナビゲーションとして想定しない文字列が入力された場合、エラーメッセージを表示するように対処する</i> から <i>管理画面のナビゲーションフォームでナビゲーションのURLとして想定しない文字列が入力された場合、エラーメッセージを表示するように対処する</i> に変更</li></ul>
OpenPNE 3 - Bug(バグ) #1955: 管理画面のナビゲーションフォームでナビゲーションのURLとして想定しない文字列が入力された場合、エラーメッセージを表示するように対処する
http://redmine.openpne.jp/issues/1955?journal_id=7611
2011-03-17T06:12:28Z
Minoru Takai
main.coeurl@gmail.com
<ul></ul><blockquote>
<p>管理画面のナビゲーションフォームでナビゲーションのURLとして想定しない文字列がURLフィールドに入力された場合、フォーム上でエラーとならない</p>
</blockquote>
<p>このことが問題視されていますが、この挙動をバグと判断する根拠が読み取れません。</p>
<p>OpenPNE 3.4.9.2 で簡単に実装を調べてみました。</p>
<ul>
<li>まず、管理画面ではどのような文字列でもURLとして設定できます。</li>
<li>ナビの表示側では、「想定しない文字列」がURLに設定されていても、エラーなどは生じません。</li>
</ul>
<ul>
<li>apps/pc_frontend/modules/default/templates/_globalNav.php<br /><pre>
<?php if ($navs): ?>
<ul>
<?php foreach ($navs as $nav): ?>
<?php if (op_is_accessable_url($nav->uri)): ?>
<li id="globalNav_<?php echo op_url_to_id($nav->uri) ?>"><?php echo link_to($nav->caption, $nav->uri) ?></li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
<?php endif; ?>
</pre></li>
<li>apps/pc_frontend/modules/default/templates/_localNav.php<br /><pre>
<?php if ($navs): ?>
<ul class="<?php echo $type; ?>">
<?php foreach ($navs as $nav): ?>
<?php if (isset($navId)): ?>
<?php $uri = $nav->uri.'?id='.$navId; ?>
<?php else: ?>
<?php $uri = $nav->uri; ?>
<?php endif; ?>
<?php if (op_is_accessable_url($uri)): ?>
<li id="<?php echo $nav->type ?>_<?php echo op_url_to_id($nav->uri) ?>"><?php echo link_to($nav->caption, $uri); ?></li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
<?php endif; ?>
</pre></li>
<li>lib/helper/opUtilHelper.php (op_is_accessable_url() の定義)<br /><pre>
function op_is_accessable_url($uri)
{
if ('/' === $uri[0] || preg_match('#^[a-z][a-z0-9\+.\-]*\://#i', $uri))
{
return true;
}
$info = sfContext::getInstance()->getController()->convertUrlStringToParameters($uri);
if (!empty($info[0]))
{
return sfContext::getInstance()->getRouting()->hasRouteName($info[0]);
}
elseif (!empty($info[1]))
{
return sfContext::getInstance()->getController()->actionExists($info[1]['module'], $info[1]['action']);
}
}
</pre>
<ul>
<li>余談ですが、関数名 op_is_accessable_url は不適切です。 accessable という綴りは誤りです。</li>
</ul></li>
</ul>
<blockquote>
<p>ルーティング名、もしくはルーティングのURLとして存在しない文字列が入った場合エラーとするほうがよいと考えられる (表示メッセージ例:「適切なURLではありません」)</p>
</blockquote>
<p>これは、「新しいナビゲーション項目の追加」か「あるひとつのナビゲーション項目の編集」をした際に op_is_accessable_url() が false を返すような場合には、そのURLを設定しようと時点で設定できないようにアラートを出したほうが親切であるという提案でしょうか。</p>
<p>もしそうであれば、その提案は妥当だと思いますが Bug チケットとするのは不適切だと思います。付け加えておくと、その提案は悪くはないと思いますが、わざわざアラートを表示する必要があるのか疑問です。 Enhancement チケットとする場合は対応した方がよいと考える理由についても併記頂ければと思います。</p>
OpenPNE 3 - Bug(バグ) #1955: 管理画面のナビゲーションフォームでナビゲーションのURLとして想定しない文字列が入力された場合、エラーメッセージを表示するように対処する
http://redmine.openpne.jp/issues/1955?journal_id=12482
2011-12-16T09:40:51Z
Yuma Sakata
sakata@tejimaya.com
<ul><li><strong>3.6 で発生するか</strong> を <i>Yes (はい)</i> にセット</li><li><strong>3.4 で発生するか</strong> を <i>Yes (はい)</i> にセット</li></ul><p>再現確認できました。</p>
<a name="Environment-再現バージョン"></a>
<h3 >Environment (再現バージョン)<a href="#Environment-再現バージョン" class="wiki-anchor">¶</a></h3>
<p>OpenPNE3.6.1<br />OpenPNE3.4.18</p>
<a name="Way-to-repro-再現手順"></a>
<h3 >Way to repro (再現手順)<a href="#Way-to-repro-再現手順" class="wiki-anchor">¶</a></h3>
<p>1. 管理画面ナビ設定ページ(/pc_backend.php/navigation/list/app/pc)にアクセスする<br />2. 存在しない文字列(例:@diary_tetete)を入力する<br />3. エラーメッセージが表示されず、存在しない文字列を登録できる</p>
OpenPNE 3 - Bug(バグ) #1955: 管理画面のナビゲーションフォームでナビゲーションのURLとして想定しない文字列が入力された場合、エラーメッセージを表示するように対処する
http://redmine.openpne.jp/issues/1955?journal_id=13565
2012-03-22T09:06:57Z
Shouta Kashiwagi
kashiwagi@openpne.jp
<ul><li><strong>対象バージョン</strong> を <i>OpenPNE 3.7.0</i> から <i>252</i> に変更</li></ul>
OpenPNE 3 - Bug(バグ) #1955: 管理画面のナビゲーションフォームでナビゲーションのURLとして想定しない文字列が入力された場合、エラーメッセージを表示するように対処する
http://redmine.openpne.jp/issues/1955?journal_id=13816
2012-03-27T05:22:18Z
Shouta Kashiwagi
kashiwagi@openpne.jp
<ul><li><strong>対象バージョン</strong> を <i>252</i> から <i>OpenPNE 3.8.x</i> に変更</li></ul>