asp.net - ValidateRequest="false" para control único
validate-request (3)
Quiero permitir que los usuarios ingresen HTML en un solo TextBox. Entiendo que es posible cambiar ValidateRequest
en la directiva de la página a falso para eliminar la protección.
Supongo que esto permite que se ingrese HTML en cualquier TextBox en la página. ¿Hay alguna forma de aplicar ValidateRequest="false"
en un solo control?
Gracias por cualquier ayuda.
Intente desactivar ValidateRequest y use este método para eliminar el marcado de cada control / parámetro individual:
public static string RemoveMarkUp(this string s) {
return Regex.Replace(s, @"<[a-zA-Z//][^>]*>", string.Empty);
}
No, la validación de la solicitud es para toda la solicitud o nada.
La validación se agregó de manera predeterminada para proteger a los desarrolladores que no tienen ni idea acerca de la validación de entrada. Si sabe que todas las entradas deben tratarse como inseguras y cómo codificar correctamente los datos que usa de la entrada para protegerse de cosas como la inyección de SQL y las secuencias de comandos entre sitios, puede desactivar la validación.
Editar:
Actualización: En .NET 4.5 , se agregó la propiedad ValidateRequestMode
, que permite excluir los controles de la página de validación global.
Nuevo en .NET 4.5: puede establecer ValidateRequestMode="Disabled"
en un control. Ver MSDN .