ValidateRequest

posted under by khoi
          Cuando creamos una página ASPX, de forma predeterminada se validará el código que se quiere enviar al servidor. Es decir, no se admitirá código que contenga secuencias HTML o algo que se le pueda parecer, ya que realmente no se comprueba si el código HTML es válido, sino que esté formado al estilo HTML, por ejemplo, secuencias que contengan <loquesea>, es decir que esté encerrado entre signos de apertura y cierre de "tags" HTML, los cuales se indican mediante signos de mayor y menor.

          Como decíamos, de forma predeterminada ASP.NET impide que se envíen esos tags al servidor, tanto es así que si en el código a enviar encuentra esa posible secuencia de comandos HTML, se producirá un error.

          Si queremos que no se valide el código enviado al servidor por una página ASPX lo tendremos que poner en la directiva @ Page. Esta directiva es la que se usa para indicar que realmente se trata de una página ASPX y suele estar en la parte superior del archivo, por ejemplo:

          <%@ Page Language="c#" ValidateRequest="true" AutoEventWireup="false" %>

          El valor predeterminado del atributo ValidateRequest es "true", por lo tanto salvo que se indique lo contrario, siempre estará activo.

          Ante una secuencia de código sospechada de maliciosa, se producirá un error (o excepción) del tipo HttpRequestValidationException.

          Para desactivar la validación automática simplemente tenemos que añadir el atributo ValidateRequest = "false" a la directiva @ Page de nuestra página ASPX:

          <%@ Page ValidateRequest="false" ...otros atributos... %>


          Fuente: http://www.elguille.info/NET/ASPNET/validateRequest.htm
          Autor: Guillermo 'guille' Som

0 comentarios

Make A Comment
top