Existe una biblioteca exhaustiva Html cleaner/Anti-Xss para .NET que también tiene una lista blanca definida. Sé que Microsofts Anti-Xss es un buen lugar para comenzar, pero necesita una buena lista blanca para etiquetas html permitidas y css. ¿Alguien sabe de algo?¿Existe una implementación .NET de HtmlPurifier (php)
Respuesta
¿Qué pasa con la biblioteca Anti-XSS de Microsoft (que ha mencionado)?
Tienen una desinfección exhaustiva de HTML que filtra los caracteres basados en una lista blanca, analiza el HTML, filtra los nodos basándose en una lista blanca y luego regenera el HTML (seguro). Puedes cambiar las listas blancas (ya que el código está abierto), pero no estoy seguro de que quieras.
El uso es simple también:
var sanitizedHtml = Microsoft.Security.Application.Sanitizer.GetSafeHtmlFragment(inputHtml);
Según MSDN (ver "Permitir entrada restringida HTML") la mejor manera de desinfectar HTML de entrada es llamar HttpUtility.HtmlEncode() en su entrada y luego vuelva a colocar selectivamente la codificación en todas sus etiquetas de la lista blanca, así:
<%@ Page Language="C#" ValidateRequest="false"%>
<script runat="server">
void submitBtn_Click(object sender, EventArgs e)
{
// Encode the string input
StringBuilder sb = new StringBuilder(
HttpUtility.HtmlEncode(htmlInputTxt.Text));
// Selectively allow and <i>
sb.Replace("<b>", "<b>");
sb.Replace("</b>", "");
sb.Replace("<i>", "<i>");
sb.Replace("</i>", "");
Response.Write(sb.ToString());
}
</script>
Véase también this article.
Este contenido es obsoleto y ya no se le realizan mantenimiento. 12 de 200 usuarios lo encontraron útil. –
- 1. ¿Existe alguna implementación documentada gratuita de R-Tree para .NET?
- 2. ¿Existe una implementación de handlebars.js en Java?
- 3. ¿Existe una implementación eficiente de tetration?
- 4. ¿Existe una implementación de la calidad de producción de los Buffers de Google Protocol en .NET
- 5. htmlpurifier eliminar css en línea
- 6. .net implementación de bcrypt
- 7. .NET implementación de scrypt
- 8. ¿Existe una implementación .Net (prefiera F # o C#) de la Transformada Hilbert-Huang?
- 9. ¿Existe una implementación conocida de una lista vinculada indexada?
- 10. ¿Existe una implementación estándar de una lista circular para C++?
- 11. ¿Existe una buena implementación de la descarga parcial de archivos en PHP?
- 12. ¿HTMLPurifier realmente es a prueba de balas?
- 13. ¿Una implementación singleton obvia para .NET?
- 14. ¿Existe una implementación de la base de datos p2p?
- 15. .NET Implementación de XML eficiente
- 16. .NET 4.0 Implementación de OutputCacheProvider
- 17. Implementación de WeakReference en .NET
- 18. ¿Existe una implementación de RFC 3229 (codificación Delta para HTTP)?
- 19. ¿Existe una implementación robusta del controlador java.util.logging de syslog?
- 20. ¿Existe una implementación de cola FIFO optimista sin bloqueo?
- 21. Existe una buena implementación de radixsort para flotadores en C#
- 22. ¿Existe una cola ordenada en .NET?
- 23. ¿Existe un marco de implementación continua?
- 24. ¿Existe una función incorporada para contraseñas hash en .NET?
- 25. ¿Existe alguna implementación basada en .NET/CLI de un compilador de C#?
- 26. Error de implementación PHP metaphon
- 27. ¿Existe una buena alternativa a la extensión SOAP de PHP?
- 28. API implementación de seguridad php
- 29. Implementación C2DM Código PHP
- 30. estrategias de implementación, PHP + SVN
¡Eso es genial! He estado escribiendo mi propio sanitizador cursi ... ¡ya no más! – Chaddeus
Desafortunadamente, el proceso de lanzamiento de la biblioteca AntiXSS es bastante desagradable. La versión 4.2.1 ha introducido cambios de ruptura inesperados masivos, no hay una línea de tiempo para una solución y ninguna fuente para bifurcar. No es algo en lo que quieras confiar. –