是否img标签的alt属性需要编码?(Does the img tag's alt attr

2019-07-30 14:55发布

在HTML在里面的文字img标签的alt属性需要编码/逃脱?

非编码的例子:

<img src="myimg.png" alt="image description" />

编码的例子:

<img src="myimg.png" alt="image%20description" />

Answer 1:

不,它并不需要进行编码就像一个URI。 然而,HTML字符必须编码,这样的...

<img src="myimg.png" alt="Me &amp; my image" />


Answer 2:

他们并不需要URL编码的,但他们确实需要,因为所有的XHTML属性做的,XHTML实体编码。

不正确:

<img src="foo.gif" alt="Ben & Jerry's" />

正确:

<img src="foo.gif" alt="Ben &amp; Jerry's" />

您还需要值内进行编码,双引号,即使你没有做,在一般的文本。

参考:

  • http://www.w3.org/TR/xhtml1/#C_12


Answer 3:

不,不是的。 编码是针对URL作为http://en.wikipedia.org/wiki/Dream%20Theater ,其中alt字符串不是。

您将需要使用实体编码逃避>&gt;"作为&quot;中,虽然需要注意的是不同于URI编码 ,其中特殊字符被编码为百分号加两个十六进制数字。



Answer 4:

您应该使用HTML编码(即“变成了”),而不是URL编码。 如果你正在使用ASP.NET你可以用Server.HtmlEncode实现这一目标或更好的在使用HtmlAttributeEncode方法在CodePlex上AntiXSS库 。



文章来源: Does the img tag's alt attribute require encoding?