Mustache.js: remplacement de < et > par < et >

Créé le 5 août 2011  ·  5Commentaires  ·  Source: janl/mustache.js

Certains de mes objets de données utilisent du HTML prêt avec des balises régulières entourées de "<" et ">" . Moustache.js les convertit en &lt; et &gt; . Faire un String.replace(/&gt;/g,'>').replace(/&lt;/g,'<') sur la sortie résultante introduit beaucoup de décalage.

Est-ce un comportement attendu ? Peut-il être modifié pour conserver les < et > ? Ces symboles devraient-ils être échappés d'une manière ou d'une autre ?

Commentaire le plus utile

La sortie de données avec {{data}} (double moustache) échappe toujours aux caractères html. Utilisez {{{data}}} (triple moustache) si vous ne voulez pas qu'il s'échappe.

Tous les 5 commentaires

La sortie de données avec {{data}} (double moustache) échappe toujours aux caractères html. Utilisez {{{data}}} (triple moustache) si vous ne voulez pas qu'il s'échappe.

Oh cool! Je ne le savais pas. merci, thedufer.

@amper5and : Notez que si vous utilisez {{{ data }}} il est de _votre_ responsabilité de vous assurer que vous ne créez pas de vulnérabilités XSS ou CSRF, car vous contournez le mécanisme conçu pour empêcher cela :)

De plus, je pense que la syntaxe {{&data}} est équivalente, même si je ne l'ai jamais utilisée.

c'est cool

Cette page vous a été utile?
0 / 5 - 0 notes