Duda

Agustin
27 de Agosto del 2003
Saludos. Me gustaria si alguien pudiera explicarme esto

<input type="text" name="Prod" size="76" value="<%=Server.HtmlEncode( Descripcion )%>"

tengo duda sobre el texto incluido en la lnea anterior. Con que finalidad colocan <%=Server.HtmlEncode( Descripcion )%>

Miguel
27 de Agosto del 2003
Hola Agustin, vamos a ver:

Imaginate que la variable descripcion guarda :

Hola<BR>adis

Si le haces un response.write(descripcion), ASP envia al cliente el contenido de la variable tal cual, y por tanto su navegador interpretaria el <BR> mostrando un salto de linea:

Hola
Adis

Esto segn en que casos debemos de evitarlo. imagina por ejemplo, un foro como este en el que los participantes escribieran algo parecido a: <script language=javascript> codigo maligo </script>, todos los usuarios que se conectaran ejecutarian en su maquina el codigo maligno.

Para evitar esto se usa:
response.write(server.htmlencode(descripcion)), que lo que hace es codificar los caracteres "especiales" para evitar este comportamiento, o sea que en el ejemplo anterior nuestro navegador recibe: Hola &lt; BR &gt; Adis y muestra:

Hola<BR>Adis

Como puedes ver ahora en lugar de interpretar el <BR> como un salto de linea simplemente lo ha escrito como si fuera un literal.

Bueno, no se si me he explicado bien, espero que me hayas entendido.