Skip to content

Refactoring de la mise en sécurité des textes dans ecrire et public

cerdic requested to merge gh-3abd0771/5271/unknown/refs/pull/5271/head into master

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

Merge request reports