2010-02-25 5 views
5

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

0

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

0

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.

+0

¿Estás sugiriendo que algo como de reducción del precio no requiere ningún tipo de saneamiento en absoluto? – Noz

+0

@Noz no, yo no soy. –

Cuestiones relacionadas