Tengo un sitio escrito por Rails3. Mi modelo de publicación tiene una columna de texto que nombra "contenido". En el panel posterior, el formulario html configura la columna "content" en el campo textarea con tinymce. En la página principal, debido al uso de tinymce, el código post.html.erb debe implementarse con el método sin formato como <%= raw @post.content %>
.Estoy usando Rails3 con tinymce. ¿Cómo presentar el navegador del usuario javascript, luego ingrese xss?
Bien, ahora si cierro el Javascript del navegador, este textarea puede escribir sin tinymce, y tal vez el usuario ingrese cualquier xss como <script>alert('xss');</script>
. Mi frente mostrará ese cuadro de alerta.
Intento sanitize(@post.content)
en posts_controller, pero el método sanitize filtrará el estilo de tinymce entre sí. Por ejemplo, <span style='color:red;'>foo</span>
se convertirá en <span>foo</span>
.
Mi pregunta es: ¿Cómo se filtra la entrada de xss y se reserva el estilo de tinymce al mismo tiempo?