edición de texto enriquecido, prevenir incrustado código javascript
-
01-10-2019 - |
Pregunta
Me hizo un sitio web utilizando el famoso framework Symfony. Quería agregar función de edición rica a la misma. Y me encontré con el editor TinyMCE. Pero hay un problema Comed: ¿qué tal que el usuario incrustar un código JavaScript en el contenido? como alert ( 'hola mundo').
He probado wordpress, que es un software muy famoso blog. Se enfrenta al mismo problema. ejemplo .
No es un gran problema si alguien incrustar una secuencia de comandos de alerta. Pero lo que si incrustar un código peligroso? ¿Se ha encontrado el mismo problema? ¿Debo usar rebajara en lugar de HTML? Cualquier tipo de artilugio bueno para la edición de rebajas?
Solución
No permita que el JavaScript incrustado en su entrada del usuario. Esto es fácil de limpiar, ya sea en el cliente o el servidor. Tener una "lista blanca" de las etiquetas HTML que soporte y se saca ningún atributo de detector de eventos de todo lo que permites.
Otros consejos
Es una buena idea usar una biblioteca existente para limpiar su entrada del usuario, el proyecto purificador de html: http: // htmlpurifier. org / parece mantenido y bien hecho.