2010-04-16 16 views

Respuesta

8

Emite HTML con las entidades codificadas. Es corto la mano para

<%= HttpUtility.HtmlEncode("Some string") %> 

Además, se puede extender a hacer cosas extra fresco, como la protección de la salida contra XSS, como Phil Haack demonstrated.

Phil Haack, Scott Guthrie y Scott Hanselman blogueado ampliamente acerca de las características nuevas y mejoradas en .NET 4.

1

creo que asegura que el texto contenido en el interior es verificada, por lo que no puede java script se inyecta en la página

por lo que si usted tiene

userdata = alert ("textstring") 

<%= userdata %> 

mostrará un cuadro de mensaje en la página

<%: userdata %> 

mostrará el texto 'alert ("TextString")'

4

Lo hará automáticamente la codificación HTML a la expresión encerrada.

Entonces ...

<%: yourString %> 

... es equivalente a ...

<%= HttpUtility.HtmlEncode(yourString) %> 

Véase el siguiente enlace de MSDN para obtener más información:

1
+0

Esto me lleva a la siguiente pregunta: Me pregunto por qué Google no da ningún resultado para "<%: %>" aunque esa cadena está justo en el título y el encabezado de la página ... –

+0

Tienes razón, era un búsqueda afortunada, no se utilizó la palabra clave "<%: %>", por lo que Google mostró los resultados para "nueva sintaxis de asp.net 4". Google no admite el escape de caracteres de puntuación y no he encontrado una solución alternativa, lo siento. – Prutswonder

+0

ciertamente no es su culpa. Gracias por el enlace :-) –

0

Su propósito es ayudar a prevenir ataques XSS a través de la codificación del HTML.