filtre html en PHP
Posté le mardi 13 février 2007 à 7 h 33, Read it in english with Googlecela faisait longtemps que je cherchais un bon filter de syntaxe HTML en PHP pour pouvoir enfin proposer aux posteurs d’écrire les commentaires en HTML pure.
Tout le monde jusqu’alors a dérivé cette problèmatique. Entre le BBcode, le wikitext (mainte fois reproduit), le Textile, le zcode (bbcode avec des > <) on est bien loin de la simplicité, des normes et du potentiel du language HTML. Par contre niveau sécurité, c’est sur qu’on est tranquille vu qu’on peut pas faire grand chose 🙂
Comme l’a dit Einstein :
Une personne intelligente résout un problème. Une personne sage l’évite.
Il faut croire qu’on est rentré dans l’air de l’intelligence 😀 , voici HTML Purifier
Attention, HTML purifier n’est pas un filtre batard, la syntax HTML qui ressort est valider par le W3C.
On est bien loin des anciens filtres comme PHP Input Filter (franchement limité), kses (mais où est le site officiel ?), le package PEAR HTML_Safe… etc
Ici c’est de l’or en barre, mais l’or ça pèse lourd. Je doute que les applications qui l’utiliseront filtreront les posts avant chaque affichage comme c’est le cas actuellement (punbb, IPB…).
C’est gourmand, mais efficace. Bien entendu, HTMLPurifier peut vous enlever les interactions javascript (qui pourrais provoquer des failles XSS). Tout est entièrement paramètrable, restreindre un attribut, une classe CSS, empêcher l’application d’un paramètre CSS, enlever les liens ou les images avec des URL externe, tout ce qu’on pouvait en attendre !!! Un petit plus, il parse aussi dans l’encodage que l’on veut !!! vraiment magnifique.
Le projet est tout jeune, il reste quelques améliorations à faire mais on en parle de plus en plus. Je suis encore en phase de test mais ça parait TRES prometteur et peut-être qu’enfin on pourra offrir des interfaces WYSIWYG dans les forums et les blogs 🙂
Merci pour cette réponse claire sur ce problème pourtant si banal.
Quelles sont les résultats de ta phase de test finalement ?
Difficile à dire…
L’éxécution n’est pas lente mais on obtient des résultats à la limite de l’acceptable pour une utilisation en directe.
Tout d’abord il faut savoir que html-Purifier utilise, si il peut, la classe DOMDocument de php5. Cette classe n’étant pas disponible sous php4, il utilisera dans ce cas son propre parser php appelé DirectLex. Étonnamment, la différence n’est pas flagrante…
voici quelques statistiques fait avec la méthode purify et la config par defaut de HTMLPurifier. Afin de mieux comparer, je les ai fais sur plusieurs serveurs, tous sur php5/cgi sauf mon P4, et réalisé hors des heures de pointe.
Le parser PEARSax3 est un parser disponible sur PEAR que HTMLPurifier a implémenté comme option, je l’ai mis histoire de comparer et de rabaisser la notoriété de certains… « This post » correspond au texte de cet article 🙂
P3 HT 3GHz, 768Mo DDR
1&1 serveur mutualisé
la dédibox de billy
Tout dépend donc du volume de données que l’on a traiter, mais généralement mieux vaut tout de même utiliser le cache.
Hi!
I want to extend my SQL knowledge.
I red so many SQL books and would like to
read more about SQL for my work as db2 database manager.
What would you recommend?
Thanks,
Werutz
Merci pour l’info, mais pour l’amour de dieu, tu n’as donc pas de correcteur orthographique ????
ouè j’avoue…. je corrigerais ce soir 🙂
Hi, i’m schoooler
I’m new to the forum and just saying hello.
la version 4.1.1 date de mai 2010 et pourtant elle comporte des fonctions signalées deprecated par php 5.3. bizarre
I used to be suggested this web site thrdough my
cousin. I am now nott positive whether this publish is
written through him as no one else understand such targeted approximately my trouble.
You’re incredible! Thank you!
Useful info. Lucky me I discovered your site accidentally, and I’m surprised
why this twidt of fate did not came about earlier!
I bookmarked it.
When it comes to creative entrepreneurship, Richard « Cheech » Marin and
Tommy Chong have been trailblazers since the 1970s.