HTML PURIFIER

informazioni utiliHtml Purifier è una libreria scritta in PHP che viene utilizzata per mantenere il codice HTML (magari generato in un CMS) pulito, conforme agli standard e alle specifiche W3C ed anche libero da eventuali codici maligni (conosciuti anche come XSS (1)).

In figura possiamo vedere un esempio di come opera la libreria.
Nel primo riquadro c'è il codice immesso, nel secondo il codice ripulito e nel terzo riquadro cosa viene fuori.
I tag che sono stati aperti ma non chiusi vengono chiusi, i tag che non vengono riconosciuti dalle direttive XHTML 1.0 vengono tolti, il colore del font (red) viene cambiato con il relativo codice e il javascript viene tolto.

L'esempio è stato creato usando questa demo.
Nella demo è possibile settare alcuni parametri, per esempio AutoParagraph (per l'indentatura dei paragrafi), DisplayLinkURI (per la visualizzazione della URI creata con il tag a)
Linkify o anche specificare quali elementi HTML o CSS è possibile utilizzare.esempio di html purifier

Questa libreria è stata poi integrata in CMS come Joomla e in editor come WYSIWYG.
Il plugin per Joomla, creato da Federico Capoano (Double D) e dallo staff di http://www.joomlashow.it/, lo possiamo trovare a questo indirizzo o anche nel sito dei loro autori.
E' nativo sia per la versione 1.0 sia per la 1.5.
Per ognuna di queste due ne esistono due versioni che differiscono per la versione di PHP usata (4 o 5).

Per quanto riguarda l'installazione, essa avviene come sempre: una volta scaricato il pacchetto è necessario andare nel back-end del sito e scegliere dal menù orizzontale estensioni-->installa/disinstalla-->sfoglia. Caricare il file scaricato-->cliccare su "carica file & installa".
Una volta installato il plugin permette la configurazione di alcuni parametri:installazione plugin html purifier per Joomla
  • Tidy Level: permette di scegliere tra light, medium e heavy;
  • Doctype: permette di scegliere tra Xhtml 1.0 Transitional, Xhtml 1.0 strict, Html 4.0 Transitional, Html 4.0 Strict;
  • Linkify: converte automaticamente le stringhe che iniziano con http:// in un link;
  • Trusted HTML: se è settato a no non permette l'uso di script e dei tag di stile;
  • Proprietary CSS (solo se PHP 5): se è settato a no non consente l'uso delle proprietà standard dei css.
Osservazione:
se c'è qualche problema in un particolare contenuto è possibile disattivare il plugin in tale contenuto semplicemente scrivendo
{disablepurifier}

Questo plugin è molto importante soprattutto nel caso si voglia fare un sito accessibile perchè, come detto, va a validare il markup XHTML contenuto degli articoli.
Bisogna ricordare che alcuni elementi e componenti che talvolta vogliamo mettere dentro il nostro sito non sono "XHTML 1.0 strict" quindi il plugin li blocca.

Esistono anche altri tipi di filtri e librerie per la pulizia del codice HTML, per esempio kses. Questo ha solo la funzione di filtro e non ha tutte le funzionalità di HTML Purifier, ma può essere utilizzato per esempio per ripulire il codice inserito in una text area lasciando passare solo i tag e attributi permessi. Anche il suo utilizzo è semplice, infatti è composto da un solo file PHP da includere.



(1) XSS sta per Cross-Site Scripting: viene usata la X al posto della C per non confonderlo con i CSS. In tal caso si tratta di un tipo di vulnerabilità nelle applicazioni web che permettono di inserire degli script lato client nelle pagine web visualizzate. Questi script sono tipicamente dei codici maligni in Javascript.
Per capire bene cosa sono basta leggere qui

Scarica il plugin da download.joomla.it



Articoli correlati:
Joomla e l'accessibilità

Scritto da ventus85

commentaCommenta questo articolo sul forum