プロジェクト

全般

プロフィール

Bug(バグ) #2496

未完了

HTML挿入で テキストモード→プレビューモード→テキストモード の切り替えを行うと <hr> の color 属性が消える

Kiwa Sakai さんが約13年前に追加. 4年以上前に更新.

ステータス:
Rejected(差し戻し)
優先度:
Normal(通常)
担当者:
対象バージョン:
開始日:
2015-11-06
期日:
進捗率:

50%

予定工数:
(合計: 0:00時間)
3.6 で発生するか:
Yes (はい)
3.8 で発生するか:
Yes (はい)

説明

Overview (現象)

管理画面:HTML 挿入(/pc_backend.php/design/html)にて、テキストモード→プレビューモード→テキストモード の切り替えをおこなうと hr タグの color の指定が消える。

再現手順

1. HTML 挿入 の「テキストモード」で以下のような入力を行う

<hr color="#ff0000" size="3">

2. 「プレビューモード」に変更する
3. 「テキストモード」に戻す
4. 1 で入力した値が以下のように変更されている
<hr size="3" />

現象確認バージョン

OpenPNE 3.6.0

Causes (原因)

Way to fix (修正内容)


子チケット 1 (1件未完了0件完了)

Backport(バックポート) #4401: HTML挿入で テキストモード→プレビューモード→テキストモード の切り替えを行うと <hr> の color 属性が消えるNew(新規)isao sano2015-11-06

操作

関連するチケット 5 (4件未完了1件完了)

関連している OpenPNE 3 - Bug(バグ) #2495: HTML挿入で テキストモード→プレビューモード→テキストモード の切り替えを行うとリンクの遷移先の指定が変更されてしまう場合があるWon't fix(対応せず)kaoru n2011-10-14

操作
関連している OpenPNE 3 - Bug(バグ) #3413: 管理画面のhtml挿入で,テキストモードからプレビューモードに切り替えた後,テキストモードに戻った時に入力内容が消える場合があるRejected(差し戻し)isao sano2013-09-30

操作
関連している OpenPNE 3 - Backport(バックポート) #3855: HTML挿入で テキストモード→プレビューモード→テキストモード の切り替えを行うと <hr> の color 属性が消えるRejected(差し戻し)isao sano2015-11-06

操作
関連している OpenPNE 3 - Backport(バックポート) #3856: HTML挿入で テキストモード→プレビューモード→テキストモード の切り替えを行うと <hr> の color 属性が消えるRejected(差し戻し)isao sano2015-11-06

操作
関連している OpenPNE 3 - Task(タスク) #4071: OpenPNEに同梱されている TinyMCE 3.4.4 が IE11 に対応していないため、バージョンアップについて調査するNew(新規)Youichi Kimura2016-12-20

操作

Yuma Sakata さんがほぼ13年前に更新

  • 3.6 で発生するかYes (はい) にセット
  • 3.4 で発生するかYes (はい) にセット

再現確認できました。

Environment (再現バージョン)

OpenPNE3.4.18
OpenPNE3.6.1

Way to repro (再現手順)

1. 管理画面HTML 挿入ページ(/pc_backend.php/design/html)にアクセスする
2. HTML 挿入 の「テキストモード」で以下のような入力を行う

<hr color="#ff0000" size="3">

3. 「プレビューモード」に変更する
4. 「テキストモード」に戻す
5. 手順2 で入力した値が以下のように変更されている
<hr size="3" />

Way to fix (修正内容)

管理画面HTML 挿入ページにて切り替えを行った場合、<hr> の color 属性が消えないように修正お願いします。

Akihiro KOBAYASHI さんが約10年前に更新

  • ステータスNew(新規) から Accepted(着手) に変更
  • 担当者Akihiro KOBAYASHI にセット
  • 3.8 で発生するかYes (はい) にセット

Akihiro KOBAYASHI さんが約10年前に更新

  • ステータスAccepted(着手) から Pending Review(レビュー待ち) に変更
  • 進捗率0 から 50 に変更

プルリクエストしました
https://github.com/openpne/OpenPNE3/pull/198

原因:エディタtinymceの自動整形機能のため
対策:tinymceの初期設定で属性が自動的に消去されないように設定することで対応。hr以外にもsection等他のタグの属性値も消えてしまう事から、*[*]とした。
(参考:http://www.tinymce.com/wiki.php/Configuration:valid_elements)

lib/widget/opWidgetFormRichTextarea.class.phpにおいて
protected $tinyMCEConfigs = array( ...内に
'valid_elements' => '*[*]',を追加

Akihiro KOBAYASHI さんが約10年前に更新

  • 関連している Bug(バグ) #3413: 管理画面のhtml挿入で,テキストモードからプレビューモードに切り替えた後,テキストモードに戻った時に入力内容が消える場合がある を追加

Akihiro KOBAYASHI さんが約10年前に更新

  • 対象バージョンOpenPNE 3.9.0-old にセット

プルリクエストを間違えていたため
https://github.com/openpne/OpenPNE3/pull/198 を一旦クローズ、
新たに https://github.com/openpne/OpenPNE3/pull/222 を追加

kaoru n さんが9年以上前に更新

  • 担当者 を削除 (Akihiro KOBAYASHI)

isao sano さんが約9年前に更新

  • 関連している Backport(バックポート) #3855: HTML挿入で テキストモード→プレビューモード→テキストモード の切り替えを行うと <hr> の color 属性が消える を追加

isao sano さんが約9年前に更新

  • 関連している Backport(バックポート) #3856: HTML挿入で テキストモード→プレビューモード→テキストモード の切り替えを行うと <hr> の color 属性が消える を追加

Shinichi Urabe さんが8年以上前に更新

  • ステータスPending Review(レビュー待ち) から Rejected(差し戻し) に変更

本チケットでは hr の color 属性についてのみの指摘ですが、差分を見るとそれ以上の範囲の修正になっているのは問題ないでしょうか

また、HTML挿入以外の機能にも影響を受けますが、想定されていますでしょうか opFormItemGenerator::generateWidget() において rich_textarea で呼び出された場合、すべてが対象となります
例えば、lib/config/config/member_config.yml に新しい設定を追加されて formType に rich_textarea が設定されているとそこにも影響を受けます

対策:tinymceの初期設定で属性が自動的に消去されないように設定することで対応。hr以外にもsection等他のタグの属性値も消えてしまう事から、*[*]とした。

もし、本チケットの タイトル 説明欄 に記載以上の修正とするのであれば、本来属性がどこまで削除されずに維持されるべきか、他に影響を受けるソースを修正する場合、影響範囲を調査し、方針を明確にした上で対応すべきです

kaoru n さんが8年以上前に更新

  • 担当者isao sano にセット

Youichi Kimura さんが約8年前に更新

もし #2496-5 の修正を適用した場合、下記のテキストをプレビューモードで表示させることで任意のスクリプトが実行可能であることを確認しています。
(現行の master, stable-3.8.x, stable-3.6.x ブランチでは onerror 属性が取り除かれるため実行されません)

<img src="#" onerror="alert(1)">

kaoru n さんがほぼ8年前に更新

  • 関連している Task(タスク) #4071: OpenPNEに同梱されている TinyMCE 3.4.4 が IE11 に対応していないため、バージョンアップについて調査する を追加

isao sano さんが7年以上前に更新

対象バージョン変更のため、修正内容の確認を行います。

isao sano さんが7年以上前に更新

  • 対象バージョンOpenPNE 3.9.0-old から OpenPNE 3.9.0 に変更

isao sano さんが7年以上前に更新

再現を確認しました。

kaoru n さんがほぼ5年前に更新

  • 対象バージョンOpenPNE 3.9.0 から OpenPNE 3.10.x に変更

kaoru n さんが4年以上前に更新

  • 対象バージョンOpenPNE 3.10.x から OpenPNE 3.11.x に変更

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