Browse Source

fix: echapper (et sanitizer si besoin) les multis et les idiomes dans safehtml() la fonction, avant d'appeler la lib sous-jacente qui de toute façon ne les connaitra pas

pull/5339/head
Cerdic 4 months ago
parent
commit
986e14cd6a
  1. 22
      ecrire/inc/texte_mini.php

22
ecrire/inc/texte_mini.php

@ -632,6 +632,21 @@ function safehtml($t) {
return str_replace("\x00", '', $t);
}
$collecteurIdiomes = null;
if (stripos($t, '<:') !== false) {
include_spip("src/Texte/Utils/Collecteur");
include_spip("src/Texte/CollecteurIdiomes");
$collecteurIdiomes = new Spip\Texte\CollecteurIdiomes();
$t = $collecteurIdiomes->echapper($t);
}
$collecteurMultis = null;
if (stripos($t, '<multi') !== false) {
include_spip("src/Texte/Utils/Collecteur");
include_spip("src/Texte/CollecteurMultis");
$collecteurMultis = new Spip\Texte\CollecteurMultis();
$t = $collecteurMultis->echapper($t, ['sanitize_callback' => 'safehtml']);
}
if (!function_exists('interdire_scripts')) {
include_spip('inc/texte');
}
@ -645,6 +660,13 @@ function safehtml($t) {
$t = $safehtml($t);
}
if ($collecteurMultis) {
$t = $collecteurMultis->retablir($t);
}
if ($collecteurIdiomes) {
$t = $collecteurIdiomes->retablir($t);
}
return interdire_scripts($t); // interdire le php (2 precautions)
}

Loading…
Cancel
Save