Bug(バグ) #2496
openHTML挿入で テキストモード→プレビューモード→テキストモード の切り替えを行うと <hr> の color 属性が消える
50%
Description
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 (修正内容)¶
Updated by Yuma Sakata about 13 years ago
- 3.6 で発生するか set to Yes (はい)
- 3.4 で発生するか set to 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 属性が消えないように修正お願いします。
Updated by Akihiro KOBAYASHI over 10 years ago
- Status changed from New(新規) to Accepted(着手)
- Assignee set to Akihiro KOBAYASHI
- 3.8 で発生するか set to Yes (はい)
Updated by Akihiro KOBAYASHI over 10 years ago
- Status changed from Accepted(着手) to Pending Review(レビュー待ち)
- % Done changed from 0 to 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' => '*[*]',を追加
Updated by Akihiro KOBAYASHI over 10 years ago
- Related to Bug(バグ) #3413: 管理画面のhtml挿入で,テキストモードからプレビューモードに切り替えた後,テキストモードに戻った時に入力内容が消える場合がある added
Updated by Akihiro KOBAYASHI about 10 years ago
- Target version set to OpenPNE 3.9.0-old
プルリクエストを間違えていたため
https://github.com/openpne/OpenPNE3/pull/198 を一旦クローズ、
新たに https://github.com/openpne/OpenPNE3/pull/222 を追加
Updated by isao sano about 9 years ago
- Related to Backport(バックポート) #3855: HTML挿入で テキストモード→プレビューモード→テキストモード の切り替えを行うと <hr> の color 属性が消える added
Updated by isao sano about 9 years ago
- Related to Backport(バックポート) #3856: HTML挿入で テキストモード→プレビューモード→テキストモード の切り替えを行うと <hr> の color 属性が消える added
Updated by Shinichi Urabe almost 9 years ago
- Status changed from Pending Review(レビュー待ち) to Rejected(差し戻し)
本チケットでは hr の color 属性についてのみの指摘ですが、差分を見るとそれ以上の範囲の修正になっているのは問題ないでしょうか
また、HTML挿入以外の機能にも影響を受けますが、想定されていますでしょうか opFormItemGenerator::generateWidget()
において rich_textarea で呼び出された場合、すべてが対象となります
例えば、lib/config/config/member_config.yml に新しい設定を追加されて formType に rich_textarea が設定されているとそこにも影響を受けます
対策:tinymceの初期設定で属性が自動的に消去されないように設定することで対応。hr以外にもsection等他のタグの属性値も消えてしまう事から、*[*]とした。
もし、本チケットの タイトル 説明欄 に記載以上の修正とするのであれば、本来属性がどこまで削除されずに維持されるべきか、他に影響を受けるソースを修正する場合、影響範囲を調査し、方針を明確にした上で対応すべきです
Updated by Youichi Kimura over 8 years ago
もし #2496-5 の修正を適用した場合、下記のテキストをプレビューモードで表示させることで任意のスクリプトが実行可能であることを確認しています。
(現行の master, stable-3.8.x, stable-3.6.x ブランチでは onerror 属性が取り除かれるため実行されません)
<img src="#" onerror="alert(1)">
Updated by kaoru n about 8 years ago
- Related to Task(タスク) #4071: OpenPNEに同梱されている TinyMCE 3.4.4 が IE11 に対応していないため、バージョンアップについて調査する added
Updated by isao sano almost 8 years ago
- Target version changed from OpenPNE 3.9.0-old to OpenPNE 3.9.0
Updated by kaoru n almost 5 years ago
- Target version changed from OpenPNE 3.9.0 to OpenPNE 3.10.x
Updated by kaoru n over 4 years ago
- Target version changed from OpenPNE 3.10.x to OpenPNE 3.11.x