2009-10-06 7 views
0

J'ai une application où les utilisateurs peuvent stocker des extraits de code HTML et ASP dans une base de données. Le problème est que lorsque je remplis dynamiquement le contrôle de zone de texte, tous les différents caractères qui peuvent figurer dans un extrait de code HTML provoquent le mauvais rendu de la page. Est-ce que quelqu'un peut me diriger vers un guide/how-to sur l'effacement/remplacement de divers caractères avant de sortir dans le navigateur? Est-ce que je retire les équerres et remplace-les par un caractère de remplacement? Dois-je forcer mes utilisateurs à entrer <et> au lieu des chevrons? Ou y a-t-il un moyen beaucoup plus facile de le faire?Affichage HTML et autre code dans une zone de texte dans ASP.NET

Répondre

1

Une bonne habitude est d'utiliser HTMLEncode et HTMLDecode de la classe Server.httpUtility. Le simple fait de remplacer < et/ou d'analyser manuellement le code HTML peut être gênant et vous risquez de ne pas tout obtenir. En appelant toujours HTMLEncode et HTMLDecode sur toute entrée utilisateur ou texte écrit à l'écran, vous réduisez considérablement le risque de création de scripts intersites et d'autres vulnérabilités Web courantes (comme l'injection SQL). Il ne devrait jamais être utilisé comme seul mécanisme de sécurité/assainissement, mais il est facile et efficace à mettre en œuvre.

1

Vous pouvez facilement encoder du code HTML avant de le sortir à l'écran en utilisant le HttpUtility.

Questions connexes