HTML-Entité s'échapper pour prévenir les attaques de type XSS

J'ai quelques entrées de l'utilisateur. Dans mon code, je veille à ce que les symboles suivants sont échappés:

& -> & 
< -> &lt; 
> -> &gt;

OWASP affirme qu'il y a plus de caractères à échapper.

Pour les attributs, je fais un autre type d'échappement:

& -> &amp; 
" -> &quot;

Cela garantit que tous les attributs sont encadrés par des ". Cela me fait sûr de mon html attributs, mais pas sur le HTML lui-même.

Je me demande si mon échappement est suffisante. J'ai lu ce post, mais je ne suis pas encore sûr de mon inquiétude.

(JavaScripts sont échappés avec l'OWASP-Bibliothèque)

  • ' -> &apos; et % -> &perc; (pour les XSS, codage de caractères par %34 etc.)
  • Dans ce cas, serait de remplacer % par &perc; utile?
  • &perc; est en effet de moins en moins utile contre les XSS, mais il peut masquer les url. Les navigateurs ne prennent pas un % de code pour son char, c'est à dire: <a href="%6Aavascript:alert('hi')"> n'invoque pas le javascript.