Comme nous le savons tous, les attaques XSS sont dangereuses et très faciles à réaliser . Divers cadres facilitent le codage HTML, comme le fait ASP.NET MVC:
<%= Html.Encode("string"); %>
Mais que se passe-t-il lorsque votre client exige qu'il puisse télécharger son contenu directement à partir d'un document Microsoft Word?
Voici le scénario: les gens peuvent copier et coller du contenu de Microsoft Word dans un éditeur WYSIWYG (dans ce cas, tinyMCE ), puis ces informations sont publiées sur une page Web.
Le site Web est public, mais seuls les membres de cette organisation auront accès aux informations publiées sur une page Web.
Comment gérer ces exigences de manière sécurisée? Actuellement, aucune vérification n'est effectuée sur ce que le client publie (car seuls les utilisateurs `` de confiance '' peuvent publier), mais je ne suis pas particulièrement satisfait de cela et je voudrais le verrouiller davantage en cas de piratage d'un compte.
La seule méthode conceptuelle que je connaisse qui réponde à ces exigences est de mettre en liste blanche les balises HTML et de les laisser passer . Y a-t-il une autre façon? Sinon, quel est un moyen sûr de laisser l'utilisateur stocker l'entrée dans la base de données sous quelque forme que ce soit, mais l'afficher uniquement correctement codé et débarrassé des balises incorrectes?