16:33 0 0
Solucionado ASP NET MVC A potentially dangerous Request Form

Solucionado ASP NET MVC A potentially dangerous Request Form

  DrUalcman |  Junio 292019

Como estoy empezando a meterme en el mundo del MVC y C# me encontrado con problemas que en WebForms tenían muy fácil solución y aqui se cons complica todo un poco más, pero al mismo tiempo, es algo más seguro que en WebForms.

Estoy hablando de la posibilidad de enviar un formulario con texto codificado en HTML, por ejemplo, con herramientas para escribir con WYSIWYG. Con WebForms, se solucionaba configurando la propiedad

ValidateRequest="false"

de la página donde necesitamos enviar ese formato HTML y listo. O también podíamos configurarlo desde el web.config y que fuera para toda la web, cosa no muy recomendable. En el mundo MVC, como tienen el mismo padre, Microsoft, también lo podemos condigurar desde el web.config, pero como ya he dicho esto no es muy recomendable.

Después de investigar un poco y hacer mis pruebas, la mejor solución que encontré está en este enlace de stackoverflow en uno de los comentarios que lo explica bastante bien.

La mejor solución

Desde el modelo, con el objeto que va a contener el texto en formato HTML agregamos el namespace de Mvc y le configuraremos una propiedad a la variable que tiene que contener el HTML.

using System.Web.Mvc;

[AllowHtml]
public string SomeProperty { get; set; }

Luego en la acción dentro del controlador, le desabilitamos, solo a esta acción, la validación del HTML con esta otra propiedad

[ValidateInput(false)]
public ActionResult SomeAction(MyViewModel myViewModel)

Con este poco esfuerzo, ya tenemos solucionado el problema del envio de HTML desde el formulario.

Actualizacion 30 Jun 2019: Aclarar que, segun otras informaciones, aun no lo he provado, no es 100% necesario incluir el [ValidateInput(false)] como propiedad en la acciion. Y esto causaria que en cualquier control se pudiera agregar contenido HTML. En cuanto lo confirme en unos dias volvere a actualizar el blog.


Happy coding


Actualizacones

30 Jun 2019: Gracias a Leonardo Velazquez, os dejo este video en youtube, que aunque esta en una mezcla de ingles con otro idioma, creo que indu, explica un poco mejor este tema.


#CSHARP #MVC

0 Comments

 
 
 

File