Información de fondo no técnica: Estoy trabajando para una escuela y estamos construyendo un nuevo sitio web usando Django. Los profesores que trabajan para la escuela no son lo suficientemente competentes desde el punto de vista tecnológico como para utilizar otro lenguaje MarkUp como MarkDown. Finalmente decidimos que deberíamos usar un editor WYSIWYG, que presenta defectos de seguridad. No estamos demasiado preocupados por los propios maestros, sino por los estudiantes más maliciosos que puedan obtener las credenciales de los maestros.¿Cómo prevenir ataques XSS cuando necesito renderizar HTML desde un editor WYSIWYG?
Información técnica de fondo: Estamos utilizando Django 1.3 y aún no hemos elegido un editor específico. Nos inclinamos por uno de javascript como TINYMCE, pero podemos persuadirnos de utilizar cualquier cosa que permita la seguridad y la facilidad de uso. Debido a que el editor WYSIWYG generará HTML para representarse en el documento, no podemos simplemente escapar de él.
¿Cuál es la mejor manera de prevenir códigos maliciosos al mismo tiempo que facilita a los docentes no técnicos la tarea de escribir publicaciones?
[comentario lateral: ckEditor tiene algunas integraciones django agradables, que incluyen carga de imágenes y paquetes de navegación. buen alt para TinyMCE. ¡Sin embargo, no sé si esto ayuda a los problemas de XSS!] – Spacedman