Bonjour,
Une petit question sur l’utilisation de python-markdown avec du contenu non fiable. La méthode qui semble préconisée est d’utiliser bleach. D’une part ce dernier est déprécié (mais ça à la limite, il semble qu’il y a des des alternatives et que update liés à la sécurité sont maintenus pour le moment).
Mais surtout il est plutôt fait pour assainir a posteriori, en laissant passer uniquement les tags non-dangereux générés par markdown. Si j’essaie d’assainir avant l’interprétation par python markdown, les « & » sont remplacés par des « & », pareil pour les « > », etc. Et l’interprétation ne se fait pas.
Mais sans assainissement a priori, l’utilisateur peut utiliser directement toutes les balises html qui sont sur la liste blanche sans passer par la syntaxe markdown. Ce que je ne veux pas non plus.
Là je ne vois que deux solutions : modifier toutes les regex de python markdown pour fonctionner avec du code assaini. Ou tout assainir, et dés-assainir au cas par cas pour les chaînes de caractères susceptibles d’être interprétées par markdown. Les deux solutions me paraissent bourrines et cradingues.
Est-ce qu’il existe des méthodes plus propres ? J’imagine que je ne suis pas le premier à avoir le problème. D’ailleurs sur <a href="https://zestedesavoir.com/">zds</a>, il semble que vous l’ayez résolu. Quelle est la bonne façon de faire ?