Skip to content

Beaucoup de code pour un simple safehtml() partout à la fin

Bon, j'ai eu du mal à dérouler la pelotte pour comprendre ce que faisait vraiment le plugin.

En fait,

Donc en gros dès qu'on a une balise html on appelle echappe_js(), ce qui est le cas de tout ce qui passe dans propre()

Une fois dans echappe_js, ona cette rule un peu chelou

https://git.spip.net/spip-contrib-extensions/htmlpurifier/src/branch/master/wheels/spip/echappe-js.yaml#L24

match: "{<[a-z]+.*?($|>)}UisS" avec un double "non greedy" qui s'annule, et donc en gros on prend toutes les balises et on les envoie dans la fonction echappe_anti_xss()

laquelle fait donc un safehtml() qui est un appel à la lib Purifier https://git.spip.net/spip-contrib-extensions/htmlpurifier/src/branch/master/wheels/spip/echappe-js.php#L23

En résumé, beaucoup de surcharges de code et de complication pour juste faire un appel à purifier sur chaque balise html du contenu en post-propre et post-typo, ce qui pourrait se faire bien plus simplement par un appel depuis les 2 pipelines, une fois que SPIP a fait tout son travail.

(et éventuellement en annulant la fonction echapper_html_suspect() si elle nous embête plutôt qu'autre chose).