redsolutioncms.django-html-confianza hará que su HTML correcto, bastante y seguro.
Uso de la letra
Supongamos que algunos usuarios pueden publicar contenido a su sitio. Y quieres que les permita publicar formatos de texto, imágenes, tablas y videos. La mejor manera es utilizando HTML como formato nativo y editor WYSIWYG como interfaz de usuario. Así que los usuarios van a crear contenido fácil y serán felices. Ellos serán capaces de copiar y pegar contenido de otros sitios o GUI-Editores. Pero tú puedes ser el infeliz. Su lata sitio se ve no es homogénea debido a las diferentes familias de fuentes, colores guiones que vendrán con copiar y pegar el contenido. También usted puede querer proteger su sitio de las inyecciones de JavaScript. De esta manera es posible que desee utilizar django-confianza-html.
Desinfección
Esto es de aplicación para el saneamiento de HTML a partir de:
& Nbsp; 1. inyecciones de javascript
& Nbsp; 2. estilos CSS objetables
& Nbsp; 3. etiquetas objetables
& Nbsp; 4. enlaces objetables o inaccesibles, imágenes y objetos incrustados
Por ejemplo, usted puede:
& Nbsp; 1. quitar los scripts de usuario `s contenidos publicados en su sitio
& Nbsp; 2. eliminar las fuentes y colores especificados por el usuario para hacer que su sitio se ve bastante
& Nbsp; 3. Permitir al usuario para enviar vídeo, por ejemplo, sólo de 'youtube.com'
& Nbsp; 4. imágenes desactivar no disponen en su propio sitio
Valid HTML
Esta es una aplicación para editar HTML válido:
& Nbsp; 1. quitar etiquetas incorrectas, atributos, css-propiedades y css-valores no permitidos para esta propiedad
& Nbsp; 2. comprobar y eliminar enlace roto, y hacer algunas más cosas con ellos
Por ejemplo, usted puede:
& Nbsp; 1. hacer toda su w3c contenido válido
& Nbsp; 2. eliminar enlaces rotos a otros sitios
& Nbsp; 3. eliminar el nombre de host de enlaces a su sitio.
personalizado
Usted puede:
& Nbsp; 1. elija una de presets
& Nbsp; 2. especificar la configuración de validación
& Nbsp; 3. personalizar las reglas de validación
Instalación:
& Nbsp; 1. Ponga trustedhtml a sus INSTALLED_APPS en su settings.py dentro de su proyecto Django.
& Nbsp; 2. Sincroniza tu base de datos:
& Nbsp; ./ manage.py syncdb
& Nbsp; 3. Personalizar la configuración de su settings.py.
Para obtener más información sobre la configuración de leer trustedhtml / settings.py.
Uso:
En sus modelos:
& Nbsp; 1. Puede utilizar TrustedField en su modelo
& Nbsp; de trustedhtml.fields importar TrustedTextField
& Nbsp; la clase MyModel (models.Model):
& Nbsp; html = TrustedTextField ()
También puede especificar uno de los validadores predefinidos
desde trustedhtml.rules importación completa, normal, bastante
desde trustedhtml.fields TrustedTextField importación
MyModel clase (models.Model):
& Nbsp; html = TrustedTextField (validador = bonita)
regla trustedhtml.rules.full será segura todas las etiquetas html y css estilo descrito por el W3C.
regla trustedhtml.rules.normal eliminará elemento html peligrosa, o elementos que pueden romper a diseñar.
regla trustedhtml.rules.pretty también eliminará colores, fuentes, alinea, márgenes y otros atributos css y html.
Por cierto, si usted tiene django-tinymce en INSTALLED_APPS, que usted puede utilizar TrustedHTMLField.
& Nbsp; 2. Puede validar html antes de que se salvará:
& Nbsp; de trustedhtml.rules importan bastante
& Nbsp; la clase MyModel (models.Model):
& Nbsp; html = models.TextField ()
& Nbsp; def guardar (auto, * args, ** kwargs):
& Nbsp; self.html = pretty.validate (self.html)
& Nbsp; super (MyModel, auto) .save (* args, ** kwargs)
O:
desde trustedhtml.rules importan bastante
desde someapp.models SomeModel importación
content_save def (remitente, ejemplo, ** kwargs):
& Nbsp; instance.content = pretty.validate (instance.content)
pre_save.connect (content_save, remitente = SomeModel)
& Nbsp; 3. Puede validar HTML usando el widget:
& Nbsp; a partir de formas de importación django
& Nbsp; de trustedhtml.widgets TrustedTextarea importar
& Nbsp; la clase FormField (forms.TextField):
& Nbsp; widget de = TrustedTextarea
Si usted está usando django-pages-cms, sólo puede utilizar TrustedWidget en las plantillas:
{% Main_content marcador de posición con TrustedTextarea%}
O para versiones anteriores de django-pages-cms:
{% Main_content marcador de posición con trustedhtml.widgets.TrustedTextarea%}
Además, si usted está usando TinyMCE:
{% Main_content marcador de posición con trustedhtml.widgets.TrustedTinyMCE%}
O para versiones anteriores de django-pages-cms:
{% Main_content marcador de posición con TrustedTinyMCE%}
& Nbsp; 4. Usted sólo puede pedir html confiable para validar campos especificados en los modelos especificados.
En algunas aplicaciones:
SomeModel clase (models.Model):
& Nbsp; name = models.CharField (max_length = 100)
& Nbsp; Descripción = models.TextField ()
En su settings.py:
& Nbsp; TRUSTEDHTML_MODELS = [
& Nbsp; {
& Nbsp; "modelo": 'someapp.models.SomeModel',
& Nbsp; "campos": ['description',],
& Nbsp;},
]
¿Qué hay de nuevo en esta versión:
- Permitir elementos de confianza sienta (para películas youtube)
¿Cuál es nuevo en la versión 0.1.1:
- Permitir & lt; iframe & gt; elementos de confianza sienta (para películas youtube)
Requisitos
- Python
- Django
Comentarios que no se encuentran