redsolutioncms.django-luotettu-html tekevät HTML oikein, kaunis ja turvallinen.
Käyttö lyrics
Oletetaan, että jotkut käyttäjät voivat lähettää sisältöä sivustoon. Ja haluat jotta ne voivat lähettää muotoiltua tekstiä, kuvia, taulukoita ja videoita. Paras tapa on käyttää HTML natiiviformaatissa WYSIWYG kuten käyttöliittymä. Joten käyttäjät luovat sisältöä helposti ja mielellään. He voivat kopioida ja liittää sisältöä muilta sivustoilta tai GUI-Editors. Mutta voit tulla onnettomaksi. Sivustosi voi näyttää ole homogeenisia, koska eri fontti-perheitä, värit, luetelmakohdat jotka tulevat copy-ja-liittää sisältöä. Voit myös haluta suojata sivuston JavaScript injektioita. Näin saatat haluta käyttää django luoteta-html.
Sanitizing
Tämä on sovellus puhdistus HTML:
& Nbsp; 1. javascript injektiot
& Nbsp; 2. sopimattoman CSS-tyylejä
& Nbsp; 3. sopimattoman tunnisteet
& Nbsp; 4. sopimattoman tai saavuttamattomissa linkkejä, kuvia ja upotettuja objekteja
Esimerkiksi voit:
& Nbsp; 1. poista komentosarjojen `s sisältöä lähetetty sivustoon
& Nbsp; 2. Poista käyttäjän määrittämä fontteja ja värejä, jotta sivustosi näyttää aika
& Nbsp; 3. Salli käyttäjän lähettää video esimerkiksi pelkästään "youtube.com"
& Nbsp; 4. disable kuvia järjestetty ole omassa sivustossasi
Valid HTML
Tämä on sovellus tehdä oikea HTML:
& Nbsp; 1. poistaa väärät koodit, attribuutit, css-ominaisuuksia ja css-arvot eivät saa tätä ominaisuutta
& Nbsp; 2. tarkistaa ja poistaa rikkinäisen linkin, ja tehdä joitakin enemmän asioita heidän kanssaan
Esimerkiksi voit:
& Nbsp; 1. tehdä kaikki sisältö w3c voimassa
& Nbsp; 2. poistaa rikki linkkejä muille sivuille
& Nbsp; 3. Poista host nimi linkit sivuillesi.
Mukautettu
Voit:
& Nbsp; 1. valita yhden esiasetusta
& Nbsp; 2. Määritä asetukset validointi
& Nbsp; 3. muokata sääntöjä validointi
Asennus:
& Nbsp; 1. Laita trustedhtml sisään INSTALLED_APPS oman settings.py omassa Django projekti.
& Nbsp; 2. Synkronoi tietokanta:
& Nbsp; ./ manage.py SyncDB
& Nbsp; 3. Muokata asetuksista settings.py.
Saat lisätietoja asetuksista lukea trustedhtml / settings.py.
Käyttö:
Teidän malleissa:
& Nbsp; 1. Voit käyttää TrustedField oman mallin
& Nbsp; trustedhtml.fields tuoda TrustedTextField
& Nbsp; luokka MyModel (models.Model):
& Nbsp; html = TrustedTextField ()
Lisäksi voit määrittää yhden ennalta validaattorin
alkaen trustedhtml.rules tuoda täyteen, normaali, pretty
alkaen trustedhtml.fields tuonti TrustedTextField
luokan MyModel (models.Model):
& Nbsp; html = TrustedTextField (validator = aika)
trustedhtml.rules.full sääntö turvallinen kaikki html tageja ja css-tyylin kuvataan w3c.
trustedhtml.rules.normal sääntö poistaa vaaralliset html elementti tai elementtejä, jotka voivat rikkoa voit suunnitella.
trustedhtml.rules.pretty sääntö myös poistaa värejä, fontteja, suoristaa, katteet ja muut css-ja html määritteitä.
Muuten, jos sinulla on Django-TinyMCE in INSTALLED_APPS, kuin voit käyttää TrustedHTMLField.
& Nbsp; 2. Voit vahvistaa HTML ennen kuin se tallennetaan:
& Nbsp; trustedhtml.rules tuoda melko
& Nbsp; luokka MyModel (models.Model):
& Nbsp; html = models.TextField ()
& Nbsp; def säästä (itse, * args, ** kwargs):
& Nbsp; self.html = pretty.validate (self.html)
& Nbsp; Super (MyModel, itse) .save (* args, ** kwargs)
Tai:
alkaen trustedhtml.rules tuoda melko
alkaen someapp.models tuonti SomeModel
def content_save (lähettäjä, esim ** kwargs):
& Nbsp; instance.content = pretty.validate (instance.content)
pre_save.connect (content_save, lähettäjän = SomeModel)
& Nbsp; 3. Voit vahvistaa html käyttämällä widget:
& Nbsp; Django tuonti muodoista
& Nbsp; trustedhtml.widgets tuoda TrustedTextarea
& Nbsp; luokka FormField (forms.TextField):
& Nbsp; widget = TrustedTextarea
Jos käytät Django-sivut-cms, voit vain käyttää TrustedWidget in malleja:
{% Paikkamerkki main_content kanssa TrustedTextarea%}
Tai vanhemmat versiot Django-sivut-cms:
{% Paikkamerkki main_content kanssa trustedhtml.widgets.TrustedTextarea%}
Myös jos käytät TinyMCE:
{% Paikkamerkki main_content kanssa trustedhtml.widgets.TrustedTinyMCE%}
Tai vanhemmat versiot Django-sivut-cms:
{% Paikkamerkki main_content kanssa TrustedTinyMCE%}
& Nbsp; 4. Voit vain kysyä luotettu html vahvistaa tietyillä aloilla on määritelty malleissa.
Joissakin sovellus:
luokan SomeModel (models.Model):
& Nbsp; name = models.CharField (MAX_LENGTH = 100)
& Nbsp; kuvaus = models.TextField ()
Teidän settings.py:
& Nbsp; TRUSTEDHTML_MODELS = [
& Nbsp; {
& Nbsp; "malli": "someapp.models.SomeModel",
& Nbsp; "kenttiin": ['description',],
& Nbsp;},
]
Mikä on uusi tässä julkaisussa:
- Salli elementtejä luotetuista istuu (for youtube elokuvia)
Mikä on uusi versiossa 0.1.1:
- Anna & lt; iframe & gt; elementtejä luotettu istuu (for youtube elokuvia)
vaatimukset
- Python
- Django
Kommentteja ei löytynyt