Info de fond technique: strong> Nous utilisons à l'aide de Django 1.3 et n'a pas encore choisi un éditeur spécifique. Nous nous appuyons vers un JavaScript tel que TinyMCE, mais peut être persuadé d'utiliser tout ce qui permet la sécurité et la facilité d'utilisation. Étant donné que l'éditeur WYSIWYG générera HTML pour être rendu dans le document, nous ne pouvons pas simplement l'échapper. P>
Quel est le meilleur moyen d'empêcher le code malveillant tout en rendant toujours facile pour les enseignants non techniques d'écrire des messages? P>
3 Réponses :
Vous devez analyser le HTML sur le serveur et supprimer toutes les balises et attributs qui ne répondent pas à une liste blanche stricte.
Vous devriez l'analyser (ou au moins le rendu) comme un XML strict pour empêcher les attaquants d'exploiter des différences entre les analysaires flous. P>
Le whitelist ne doit pas inclure
[Side Commentaire: CKeditor a de belles intégrations de Django, y compris des packages de téléchargement et de navigation d'image. Bon Alt to TinyMCE. Je ne sais pas si cela aide les problèmes XSS cependant!]