Sé que muchas preguntas sobre desinfectantes HTML han aparecido en SO, pero no sé si hacen lo que quiero, tengo un poco lío ya que algunos de los enfoques recomendados tienen más de 4 años.HTML sanitizer en ASP.NET MVC que filtra marcado peligroso, pero permite el resto
Tengo una página con el editor TinyMCE. Por supuesto, este editor envía HTML al servidor y espera HTML, así que he creado una entidad con una propiedad String
decorada con el atributo [AllowHtml]
. Funciona bien.
Ahora, quiero asegurarme de que nadie intente enviar una etiqueta <script>
, o una <img onerror="">
, o cualquier forma de ejecutar JS, o agregar CSS que señale a las URL externas.
¿Cuál es la mejor solución en este momento?
WPL tiene HtmlSanitizationLibrary, pero ¿cómo puedo saber qué etiquetas se consideran "seguras"?
WPL no ha lanzado nada desde el pasado mes de abril, y fue la versión beta. Entonces, me preguntaba si este proyecto está activo.
Saludos.
Aún está activo. El Sanitizer sin embargo, bueno, está languideciendo en estos días. A medida que la gente se ha trasladado a XHTML, el desinfectante no está a la altura, y una reescritura no está sobre la mesa. Como TinyMCE produce el marcado XHTML correcto, puedes usar Linq2Xml para consultar el DOM y desinfectarlo a tu gusto. Esa es probablemente una mejor solución a largo plazo (y, mmm, me da una idea para un blog o dos) – blowdart