TODO #19261

ブログ記事検索フォームのプルダウンメニュー特殊文字がエスケープされて表示される

村上 彬7ヶ月前に追加. 7ヶ月前に更新.

ステータス:終了開始日:
優先度:通常期日:
担当者:江頭 竜二進捗率:

100%

カテゴリ:ブログ
対象バージョン:4.0.9

説明

basrCMS4系最新版のブログで親、子カテゴリを作成した際
ブログ記事検索フォームのプルダウンメニューで子カテゴリをインデントするために付加している
HTML特殊文字「  」がエスケープされ表示されてしまっている事象に遭遇しました。

下記のフォームヘルパ呼び出し元で「'escape' => true」を渡していることが原因のようです。
「'escape' => false」にすると解消されます。
lib/Baser/Plugin/Blog/View/Elements/admin/searches/blog_posts_index.php

<span><?php echo $this->BcForm->label('BlogPost.blog_category_id', 'カテゴリー') ?> <?php echo $this->BcForm->input('BlogPost.blog_category_id', array('type' => 'select', 'options' => $this->BlogCategories, 'escape' => true, 'empty' => '指定なし')) ?></span>

プルダウンのリストを表示する際のエンコードが影響しているようでした。
lib/Baser/View/Helper/BcFormHelper.php
_selectOptions 

#700
if (!empty($name)) {
    $name = $attributes['escape'] ? h($name) : $name; ← ココ
    if ($attributes['style'] === 'checkbox') {
        $select[] = $this->Html->useTag('fieldsetstart', $name);
    } else {
        $select[] = $this->Html->useTag('optiongroup', $name, '');
    }
}

脆弱性の穴を塞いだときの影響ですか特に無ければ「'escape' => false」に戻しても良いかと思います。

スクリーンショット 2017-11-21 16.00.01.png (36.066 KB) 村上 彬, 2017/11/21 16:16

2277

関係しているリビジョン

リビジョン 70af0fe7
akira murakami が7ヶ月前に追加

fix #19261 ブログ記事検索フォームのプルダウンメニュー特殊文字がエスケープされて表示される事象修正

リビジョン 66865f46
江頭 竜二7ヶ月前に追加

fix #19261 ブログ記事検索フォームのプルダウンメニュー特殊文字がエスケープされて表示される問題を改善

履歴

#2 江頭 竜二7ヶ月前に更新

  • カテゴリブログ にセット
  • 担当者江頭 竜二 にセット

脆弱性の穴を塞いだときの影響ですね。
ちょっとどうするか考える必要がありますね。
一旦持ちます。

#3 匿名ユーザー が7ヶ月前に更新

  • ステータス担当 から 解決 に変更
  • 進捗率0 から 100 に変更

更新履歴 basercms|commit:70af0fe7b719095e64aeb09d351ef9dad2e0bf9d で適用されました。

#4 江頭 竜二7ヶ月前に更新

  • ステータス解決 から 終了 に変更

他の形式にエクスポート: Atom PDF