Bug(バグ) #1632
[PATCH] opApplicationConfiguration::getAppScriptName()で、prefixの末尾スラッシュ除去処理が不十分
0%
説明
状況¶
1. 末尾スラッシュの除去処理がサブディレクトリのプレフィックスを考慮していない。
opApplicationConfiguration::getAppScriptName()の以下の処理
if ('/' === $prefix) { $prefix = ''; }
は、後続の処理でスラッシュとファイル名を連結するために$prefixの末尾のスラッシュを除去するための処理と思われるのですが、ルートディレクトリのパターンでしか処理されていません。
2. $isNoScriptNameがtrueの場合とのインターフェイスの整合性
$isNoScriptNameがtrueの場合、$prefixをそのままreturnしていますが、$prefixの末尾のスラッシュの扱いについて、このメソッドの戻り値の一貫性が崩れていると思われます。
(このメソッドからは、末尾スラッシュなしのパスが返されるというインターフェイスになっているという認識)
※sfRouting::fixGeneratedUrl()でprefixとの結合を行っていますが、ここでprefixの末尾にスラッシュがないことを前提としているのかどうかまでは分からなかったため、調べています。
対応¶
パッチを添付しました。
関連するチケット
関係しているリビジョン
fixed removal of trailing slash is not enough. (refs #1632)
Merge pull request #143 from amashigeseiji/t-1632-trailing-slash
fixed removal of trailing slash is not enough. (refs #1632)
履歴
#2 Kousuke Ebihara が13年以上前に更新
- 対象バージョン を OpenPNE 3.7.0 にセット
#3 Shogo Kawahara がほぼ13年前に更新
- 題名 を opApplicationConfiguration::getAppScriptName()で、prefixの末尾スラッシュ除去処理が不十分 から [PATCH] opApplicationConfiguration::getAppScriptName()で、prefixの末尾スラッシュ除去処理が不十分 に変更
#4 Shouta Kashiwagi が約12年前に更新
- 対象バージョン を OpenPNE 3.7.0 から 252 に変更
#5 Shouta Kashiwagi が約12年前に更新
- 対象バージョン を 252 から OpenPNE 3.8.x に変更
#6 誠二 天重 がほぼ10年前に更新
- ステータス を New(新規) から Pending Review(レビュー待ち) に変更
- 担当者 を 誠二 天重 にセット
- 進捗率 を 0 から 50 に変更
- 3.6 で発生するか を Unknown (未調査) にセット
- 3.8 で発生するか を Unknown (未調査) にセット
パッチの内容で以下にプルリクエストしました。
https://github.com/openpne/OpenPNE3/pull/143
#7 Shinichi Urabe がほぼ10年前に更新
- 対象バージョン を OpenPNE 3.8.x から OpenPNE 3.8.12 に変更
#8 誠二 天重 がほぼ10年前に更新
- コピー先 Backport(バックポート) #3633: [PATCH] opApplicationConfiguration::getAppScriptName()で、prefixの末尾スラッシュ除去処理が不十分 を追加
#11 Shinichi Urabe がほぼ10年前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更
レビューOKです https://github.com/openpne/OpenPNE3/pull/143 を取り込みました
#12 isao sano がほぼ10年前に更新
- コピー先 Backport(バックポート) #3658: [PATCH] opApplicationConfiguration::getAppScriptName()で、prefixの末尾スラッシュ除去処理が不十分 を追加