2011-04-24 26 views
10

¿Cómo proteger nuestras aplicaciones web contra ataques XSS? Una aplicación es vulnerable al ataque, si no hace ninguna conversión de un carácter especial.¿Cómo evitar aplicaciones de ataques XSS?

+0

La gran publicación de cómo prevenir ataques XSS en diferentes situaciones se publica allí: http://stackoverflow.com/questions/19824338/avoid-xss-and-allow-some-html-tags-with-javascript/19943011# 19943011 – user1459144

Respuesta

1

Sólo para añadir a la lista de WhiteFang34' :

Tiene varias listas blancas incorporado para elegir, tales como permitir que algo de HTML, sin HTML, etc.

me eligió este sobre Apache Commons de StringEscapeUtils.escapeHtml() debido a cómo se maneja apóstrofes. Es decir. si nuestros usuarios escriben:

La madre de Alan tenía una buena receta de brownie.

JSoup dejará el apóstrofe solo, mientras que Apache Commons escaparía esa cadena como:

Alan madre \ 's tenía una buena receta de brownie.

De lo que no me gustaría tener que preocuparme por separar el vacío antes de mostrarlo al usuario.

2

Las entradas de escape HTML funcionan muy bien. Pero en algunos casos las reglas comerciales pueden requerir que NO se escape el HTML. Usar REGEX no es apto para la tarea y es muy difícil encontrar una buena solución para usarlo.

La mejor solución que encontré fue utilizar: http://jsoup.org/cookbook/cleaning-html/whitelist-sanitizer

Se construye un árbol DOM con las aportaciones y los filtros de cualquier elemento no permitido Anteriormente: por una lista blanca. La API también tiene otras funciones para limpiar html.

Cuestiones relacionadas