07-01-2011, 09:59 AM
Il faut utiliser htmlentities à l'affichage, pas à l'insertion.
Pourquoi ? Parce que toutes vos données n'ont pas à être corrompues pour la seule raison qu'une de vos projections de ces données est faite en HTML.
Si vous rendiez ces données en JSON, vous aimeriez voir Tom & Jerry converti en Tom & Jerry ? Je ne crois pas, ça n'a aucun sens.
Notez qu'avec Ruby on Rails, les chaînes ont un attribut booléen html_safe qui indique si elles ont été échappée pour HTML. A l'affichage, c'est fait automatiquement si ce n'est pas déjà fait, du coup on est protégé par le XSS.
Sephi-Chan
Pourquoi ? Parce que toutes vos données n'ont pas à être corrompues pour la seule raison qu'une de vos projections de ces données est faite en HTML.
Si vous rendiez ces données en JSON, vous aimeriez voir Tom & Jerry converti en Tom & Jerry ? Je ne crois pas, ça n'a aucun sens.
Notez qu'avec Ruby on Rails, les chaînes ont un attribut booléen html_safe qui indique si elles ont été échappée pour HTML. A l'affichage, c'est fait automatiquement si ce n'est pas déjà fait, du coup on est protégé par le XSS.
Sephi-Chan