2009-07-22 35 views

Respuesta

17

No, no es necesario que esté codificado como un URI. Sin embargo, los caracteres HTML deben ser codificados, así ...

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

Reemplace "debería" con "debe" - al menos si quiere pasar un validador – kdgregory

+4

Reemplace con el mosto si no lo hace No ser atrapado poniendo citas allí. –

+0

Reemplace con must si no desea la pantalla amarilla de la muerte (asumiendo que está sirviendo su XHTML como application/xhtml + xml, de lo contrario escribir XHTML es más problemático que el que vale) – Quentin

2

No, no lo hace. La codificación es para URL como en http://en.wikipedia.org/wiki/Dream%20Theater, que no es la cadena alt.

Usted tendrá que utilizar entity-encoding escapar > como &gt; y " como &quot;, sin embargo. Tenga en cuenta que eso es diferente de URI encoding donde los caracteres especiales se codifican como un signo de porcentaje más dos dígitos hexadecimales.

5

No requieren codificación URL, pero sí requieren, como todos los atributos XHTML hacen, XHTML entidad codificación.

incorrecta:

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

correcta:

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

Usted también necesitaría para codificar las comillas dobles dentro de los valores, a pesar de que no tiene que hacer eso en el texto general.

Referencia:.

0

Se debe utilizar la codificación HTML (es decir, "se convierte en "), no codificación URL Si está utilizando ASP.NET se puede lograr esto con Server.HtmlEncode o mejor aún use el método HtmlAttributeEncode en el AntiXSS Library on CodePlex.

Cuestiones relacionadas