Refactoring de la mise en sécurité des textes dans ecrire et public
suite à spip-contrib-extensions/htmlpurifier#2 et à la relecture de #3926 (closed) j'ai donc entrepris un refactoring des appels à echapper_html_suspect()
pour
- être plus robuste sur la detection
- ne pas se fourvoyer à cause d'un modèle
- faciliter la transition vers une autre librairie de purification
- mieux sécuriser les contenus
- fixer le cas parano avec la globale
filtrer_javascript=-1
qui était un peu cassé vu qu'on affichait du contenu échappé dans le public, ce qui est pas très user friendly
Au passage j'ai remarqué que traiter_modeles()
était totalement inutilement forkée dans textwheel ce qui simplifie pas la maintenance. Je l'ai donc déplacée dans un inc/modeles
que j'ai refactoré ensuite pour séparer la detection des modeles de leur traitement, et que j'ai complété par 2 fonctions rapides d'echappement/reinjection pour permettre de passer safehtml sur du contenu sans casser les modeles.
Bref tout ça est un peu plus propre et ça à l'air pas plus mal selon mes tests