2009-10-06 5 views

Répondre

8

Si vous souhaitez autoriser l'utilisateur à entrer du code HTML, puis l'afficher sur votre site Web, une solution vraiment géniale est HTMLPurifier.

Il prend n'importe quel type de code HTML en entrée et renvoie un code HTML valide, vous permettant de spécifier quelles balises et attributs doivent être autorisés, tous les autres seront supprimés. De cette façon, si vos utilisateurs saisissent du code HTML non valide, vous obtiendrez toujours le code HTML valide (moins de risque de détruire votre mise en page lors de la sortie), et si vous ne spécifiez que quelques tags non dangereux et attributs, c'est un grand avantage pour la sécurité.

Si vous voulez essayer sans avoir à l'intégrer dans votre application, il y a un demo page disponible, btw.

Par exemple, si je quelque chose comme entrée ceci:

<p> 
this <b>is a<i>test</b></i> 
with a not <em>closed tag 
and a <a href="http://google.com" onclick="alert('bouh');">link</a> 
and some <script type="text/javascript>alert('script');</script> 
</p> 

Le code HTML que je reçois comme output will be:

<p> 
this <b>is a<i>test</i></b> 
with a not <em>closed tag 
and a <a href="http://google.com">link</a> 
and some </em></p> 

ie balises sont OK (fermé, dans l'ordre), le script La balise a été supprimée, tout comme l'attribut onclick du lien.

+0

me battre aussi. Une des meilleures solutions que je connaisse. Il y a quelques classes sur phpclasses qui font la même chose mais c'est probablement plus récent +1 – Andrew

+0

Merci mec !! cherchait cette solution! ^^ –

+0

De rien :-) Amusez-vous! –

1

Votre question est un peu floue mais il semble que vous obteniez le html soumis et que vous souhaitiez l'afficher de nouveau sur votre site.

Votre meilleur pari est de trouver un ensemble de HTML acceptés, et dépouiller toutes les étiquettes qui ne correspondent pas.

Questions connexes