Feature Request: & have been escaped as &
momdo opened this issue · 5 comments
momdo commented
& have been escaped as &
Bad:
<p>A & B</p>
<p><a href="http://example.com/test.cgi?hoge=huga&foo=bar">link</a></p>
Good:
<p>A & B</p>
<p><a href="http://example.com/test.cgi?class=foo&name=bar">link</a></p>
アンパサンドはいつでもエスケープしてしまう。
okuryu commented
hail2u commented
仕様としては、<
がほぼ必須で、&
は#か英数字が続くと必須、"
や>
、'
は状況に応じてということになってます。しかし、ベスト・プラクティスとしてはこの5種にしておいた方が良さそうですかね?
okuryu commented
そうですね。実際は必要ない場合もあるんですが、5種書いておいてもいいと思います。
momdo commented
okuryuさまも言われているように、検討するならその5種類になるかと。個人的には<
と&
ついでに>
は必ずエスケープするようにはしていますが、"
や'
はエスケープしていないですね…5種類全部となると相当安全よりなイメージでそこまでする必要があるのか?と言われると知見がないです…。
hail2u commented
JavaScriptやサーバーでの動的な生成はともかく、静的なジェネレーター系(Markdown的なものやHTML編集アプリケーション)での生成については考えてやる必要があります。とするとコンテキストでの調節が必要になる"
や'
も統一してエスケープした方がシンプルで、安定したHTMLに役立つと言えそうです。