Ticket #862 (closed 改善提案: 修正済)
テンプレート上のエスケープを簡単に
Reported by: | Seasoft | Owned by: | Seasoft |
---|---|---|---|
Priority: | 中 | Milestone: | EC-CUBE2.11.0 |
Component: | その他 | Version: | 2.5-dev |
Keywords: | Cc: | ||
修正済み: |
Description (last modified by Seasoft) (diff)
HTML エスケープが不十分だったり誤ったエスケープを行なったりしている箇所が多々ある原因として、escape 修飾子の入力が面倒という側面もあるように思う。下記のような短縮型の修飾子を定義して、状況の改善を図りたい。
- h: HTML用エスケープ
default_modifiers に追加する→ かなり酷い仕様なので、Smarty2 では非実用的なようです。 http://www.polysoma.net/poly/2009/02/default_modifier%EF%BD%93%E4%BD%BF%E3%81%88%E3%81%AA%E3%81%84%E3%81%98%E3%82%83%E3%82%93%E3%83%BB%E3%83%BB%E3%83%BB/ (一応、パッチは提供されていますが…) 取りやめます。
- u: URL用エンコード + HTML用エスケープ (#878 を含む)
j: JavaScript?用エスケープ→ 利用箇所が無いようなので(大丈夫か?)、取りやめ。
新たな懸念点
- 処理の負荷が増える。(全体からしたら、大したことない?) → 修飾子が増える事による影響に限定されそう。さほど、心配するレベルではない模様。
- Smarty で提供されている処理を通す事ができるか分からない。(変換処理は独自に定義したくない。要調査) → Smarty の処理を分析したところ、ほとんど PHP の処理に依存させた非常に単純な実装だった。また、Smarty で提供されている処理を通す事も容易に可能だが、この処理のレベルならば、独自に定義しても問題ないと判断。
- テンプレートで実際に記述すると、思ったよりも読みにくい。(パイプがアルファベットに溶け込む) → 評判が悪ければ、もう少し長い文字列(たとえば、html, url, js など)に一斉置換しようと思います。記述が単純になるため、実装者によるバラツキが少なくなり、一斉置換は比較的容易と見込んでいます。→ コミット依頼苦情もないようですのでFIXとします。
Change History
comment:1 Changed 12 years ago by nanasess
- Milestone changed from EC-CUBE2.5.0beta to EC-CUBE2.5.1(仮)
comment:2 Changed 12 years ago by nanasess
- Milestone changed from EC-CUBE2.5.1(仮) to EC-CUBE2.6.0(仮)
comment:3 Changed 12 years ago by Seasoft
- Owner changed from somebody to Seasoft
- Status changed from new to assigned
comment:4 Changed 12 years ago by Seasoft
- Milestone changed from EC-CUBE2.6.0(仮) to EC-CUBE2.5.0beta
Note: See
TracTickets for help on using
tickets.