Estamos creando un sitio de contenido generado por el usuario en el que queremos permitir a los usuarios insertar cosas como videos, diapositivas, etc. ¿Alguien puede recomendar una lista generalmente aceptada de etiquetas/atributos para permitir que los rieles se desinfecten y que nos proporcionen una seguridad bastante buena, al mismo tiempo que se permite una buena cantidad del contenido embedable/formato html?Rieles Desinfecte: Seguridad + Permitir incrustaciones
Respuesta
Mientras esté apagado, debería poder permitir objetos. Incluso es posible que pueda definir los parámetros aceptables reales de las etiquetas de objeto, de modo que solo permita una lista blanca y no se puedan incluir objetos abitrarios.
Sin embargo, puede ser mejor proporcionar algún soporte de interfaz de usuario para incrustación. Por ejemplo, solicito al usuario una URL de YouTube y luego obtengo el código de inserción para el video.
varios beneficios: - el código de YouTube por defecto no es compatible con las normas para que pueda construir mi propio código objeto - Los usuarios que tengo un control completo sobre la forma en que los elementos incorporados se incluyen en la página de salida
Honestamente diciendo que permiten utilizar los editores WYSIWYG Html puede sonar bien, pero en la práctica no funciona bien tanto para usuarios como para desarrolladores. Las razones son:
- Comportamiento demasiado diferente en diferentes navegadores.
- La lista blanca permite proteger el sitio, pero los usuarios terminarán llamando y pidiendo que se permita otro parámetro para la etiqueta OBJECT o similar. Las listas negras simplemente no son seguras.
- No muchos usuarios saben qué etiqueta HTML es.
- Para los usuarios es difícil formatear texto (¿cómo puedes decirles que utilicen HEADER en lugar de BOLD + FONT-SIZE).
- En general, es bastante doloroso y no se puede cambiar realmente el diseño del sitio si es necesario porque los usuarios no usaron HTML correctamente.
Si estaría haciendo sistema CMS-como ahora, probablemente me vaya con semántica marcado.
La mayoría de los usuarios se acostumbran rápidamente y es solo texto plano (como aquí en SO).
Además, USTED puede generar HTML adecuado y etiquetas de soporte necesarias.
Por ejemplo, si necesita integrar imagen que puede escribir algo como:
mi cara: imagen- http://here.there/bla.gif
lo que generaría HTML para que de esta manera:
<a class='image-link' title='My Face' href='http://here.there/bla.gif'>
<img alt='My Face' src='http://here.there/bla.gif' />
</a>
Hay muchos lenguajes de marcado, así que solo escoja uno que sea más apropiado para usted y agregue sus propias modificaciones. Por ejemplo, GitHub usa markdown
modificado y el código para analizarlo es solo couple de líneas.
Una desventaja es que los usuarios necesitan aprender el idioma y NO ES WYSIWYG.
Atentamente,
Dmitriy.
Hay un gran proyecto para esto. Incluso se incrustar-análisis para permitir sólo incrusta youtube, por ejemplo
- 1. Implicaciones de seguridad de permitir el encuadre?
- 2. permitir negar recordar flash panel de seguridad
- 3. ¿Cómo evito las incrustaciones en Android Imageview?
- 4. Detener con seguridad em-websocket en rieles en thin
- 5. Seguridad de rieles en el servidor de producción
- 6. ¿Hay algún complemento de prueba de seguridad para los rieles?
- 7. ¿El modelo de seguridad de lienzo ignora los encabezados de control de acceso-permitir-origen?
- 8. Rieles 3 - Manejar mensajes entrantes (Permitir a los usuarios responder a las notificaciones por correo electrónico)
- 9. rails 3.1: ¿cómo anular inherited_resources y permitir que los andamios de rieles funcionen normalmente de nuevo?
- 10. Rieles: permitir la descarga de archivos almacenados en S3 sin mostrar la URL S3 real al usuario
- 11. Administración de la seguridad de una aplicación de rieles 3 de código abierto almacenada en github
- 12. Permitir curl en php5
- 13. TinyMCE, permitir datos atributo
- 14. Mysql: Permitir nulo significado
- 15. rieles ActionMailer con SendGrid
- 16. ¿Es posible permitir Cross Site Scripting (XSS) en Mobile safari?
- 17. Backbone.js Seguridad
- 18. Seguridad Jar
- 19. métodos Rieles Redefiniendo
- 20. ¿Se debe permitir Unicode en los nombres de usuario?
- 21. Mac PackageMaker - Permitir Reubicación Cuestiones
- 22. ¿Cómo permitir ciertas etiquetas html?
- 23. ¿Debo permitir 'allow_url_fopen' en PHP?
- 24. Permitir descargas MDB en IIS7
- 25. Permitir asterisco en la URL
- 26. Permitir entrada de chino simplificado
- 27. Robots.txt: permitir solo mayor SE
- 28. Permitir dirección IP sin autenticación
- 29. ¿Es seguro permitir a los usuarios editar css?
- 30. primavera: Anotación equivalente de seguridad: autenticación de administrador y la seguridad:-método de seguridad global
¿Estás sugiriendo que algo como de reducción del precio no requiere ningún tipo de saneamiento en absoluto? – Noz
@Noz no, yo no soy. –