Pour autant que je l'ai remarqué TinyMCE le fait de son propre Escaping de méta-caractères, et en utilisant htmlspecialchars() après brouilleront que la sortie et montrer < p> balises et similaires à la place de les rendre dans le navigateur. Il est facile de désactiver JavaScript et d'entrer du code malveillant qui sera rendu lorsqu'un autre utilisateur avec Javascript activé visitera le contenu.Protection contre les attaques XSS lors de l'utilisation TinyMCE
Donc, je dois utiliser la validation côté serveur, mais exactement - comment - puis-je faire correctement compte tenu des milliers de techniques XSS là-bas? Y at-il un moyen efficace qui fonctionne pour TinyMCE, tels que "en utilisant htmlspecialchars() avec TinyMCE?"
Jusqu'à présent, j'ai fait une liste blanche pour les balises HTML autorisés, remplacé tout javascript:
et similaire :void
dans le contenu pour essayer de se protéger contre inline tels que Javascript onClick="javascript:void(alert("XSS"));"
, mais je me sens cela ne suffit pas.
Un conseil sur le sujet serait très apprécié, mais rappelez-vous que certains contenus ont besoin de pour être affichés correctement sur la sortie, c'est pourquoi j'utilise TinyMCE en premier lieu. J'ai seulement besoin d'être protégé contre le XSS.
Aussi, tandis que sur le sujet; comment puis-je me protéger contre CSS XSS tel que style="background-image: url(XSS here);"
?