Toutes les techniques habituelles s'appliquent également à la sortie de node.js, ce qui signifie :
- Les listes noires ne fonctionnent pas.
- Vous n'êtes pas censé filtrer l'entrée afin de protéger la sortie HTML. Cela ne fonctionnera pas ou fonctionnera en déformant inutilement les données.
- Vous êtes censé corriger le texte en HTML.
Je ne suis pas sûr que node.js soit livré avec une fonction intégrée pour cela, mais quelque chose comme ça devrait faire l'affaire :
function htmlEscape(text) {
return text.replace(/&/g, '&').
replace(/</g, '<'). // it's not neccessary to escape >
replace(/"/g, '"').
replace(/'/g, ''');
}