HTML Purifier

Pour sécuriser l’affichage de certains textes (ceux qui proviennent potentiellement non pas des rédacteurs, mais de visiteurs non enregistrés ou de contributeurs externes, comme les forums ou les contenus des sites syndiqués), SPIP utilise en interne la librairie SafeHTML.

Malheureusement celle-ci n’est plus maintenue depuis plusieurs années. Ce plugin propose de la remplacer par HTML Purifier (http://htmlpurifier.org/), une librairie moderne et bien maintenue.

La voici en version 4.2.0. L’inconvénient de HTML Purifier est sa relative lenteur par rapport à SafeHTML. Pour minimiser ce problème, notre plugin utilise le plugin Mémoization, s’il est présent, pour ne pas refaire les calculs à chaque fois qu’il est sollicité avec un même contenu.

Attention : ce plugin nécessite PHP5 !

Discussion

4 discussions

  • 1

    Un problème rencontré avec cette librairie :

    les éléments SPIP cadre traduits en balise HTML textarea sont simplement filtrés par la librairie et à l’affichage seul le code reste, sans aucun formatage...

    • Autre problème rencontré : le code affiché dans une balise et coloré avec le plugin « coloration code » voit son indentation supprimée par cette librairie.

    Répondre à ce message

  • 2

    Surement que la prochaine version de Spip l’intégrera dans ses extensions !?

    Cédric

    • ce n’est pas si évident : il nous faudrait plus de retours d’utilisation, notammnt avec chronométrage des perfs

    • J’utilise la librairie HTML Purifier sur une solution de gestion de contenu (Site web : 3w factory). Elle est très complète au niveau du paramétrage. Je ne pense pas que le critère de performance soit le plus important quand on parle de sécurité mais je n’ai pas remarqué de problème à ce niveau là si le paramétrage est effectué correctement.

    Répondre à ce message

  • Bonjour,

    Développant une partie en wiki (grâce aux plugins autorité et crayons), j’ai voulu passer par ce plugin, après avoir utilisé |safehtml, pour protéger le contenu des articles, entré par les visiteurs (enregistrés, 6forum).

    1- Avec #TEXTE|safehtml, aucun soucis avec les données javascript et autres qui peuvent être rentrées, mais il me modifie également le comportement des mes modèles (développés pour le site) intégrés dans le texte des articles (baslie ).

    2- J’ai donc testé HTML Purifier. Même une fois activé, le plugin ne semble pas modifier le comportement des pages. À savoir, si je mets du javascript par exemple dans mon article, il sera traité. Soit j’oublie de faire quelque chose, soit j’ai mal compris l’intérêt de ce plugin.

    En tout état de cause, je ne trouve pas de solution permettant d’empêcher mes visiteurs de rentrer du contenu « dangereux », sans altérer le fonctionnement de mes modèles (essentiellement composés de mais avec des attributs HTML supprimés par |safehtml).

    Mon message sur le forum de SPIP m’ayant renvoyé sur cette page, je me permets donc de demander à nouveau si une solution peut exister pour mon problème.

    En vous remerciant,

    Sebvita

    Répondre à ce message

  • 1

    « notre plugin utilise le plugin Mémoization » je ne trouve pas de plugin avec ce nom, je suppose il s’agit d’une typo ?

    • Ce plugin existe bien sous ce nom-là, mais il n’est pas encore documenté !

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom