当编码可能不安全的数据时,是否有理由编码 >
?
- 它 validates无论哪种方式。
- 浏览器以相同的方式解释,(在
attr="data"
、attr='data'
、<tag>data</tag>
的情况下)
我认为有人会这样做的原因是
- 简化基于正则表达式的标记删除。
<[^>]+>?
(罕见) - 非引号字符串
attr=data
. :-o(没有发生!) - 代码中的美学。 (那又怎样?)
我错过了什么吗?
最佳答案
严格来说,要防止HTML注入(inject),只需要编码<
即可作为<
.
如果用户输入要放在属性中,还要编码 "
作为"
.
如果您做事正确并使用正确引用的属性,则无需担心 >
.但是,如果您不确定这一点,您应该对其进行编码以安心 - 它不会造成任何伤害。
关于HTML:我应该编码大于还是不编码? ( >> ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9010678/