Skip to content
Extraits de code Groupes Projets
Valider 0bc044e8 rédigé par cedric@yterium.com's avatar cedric@yterium.com
Parcourir les fichiers

option du sanitizer pour preserver les tags vide en ecriture courte + log de la sanitization

parent 4f3d5560
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -41,7 +41,7 @@ function metadata_svg_dist($file) { ...@@ -41,7 +41,7 @@ function metadata_svg_dist($file) {
// qu'on soit admin ou non, on sanitize les SVGs car rien ne dit qu'un admin sait que ca contient du JS // qu'on soit admin ou non, on sanitize les SVGs car rien ne dit qu'un admin sait que ca contient du JS
// and !autoriser('televerser', 'script') // and !autoriser('televerser', 'script')
) { ) {
spip_log("sanitization SVG $file", "medias"); spip_log("sanitization SVG $file", "svg");
include_spip('lib/svg-sanitizer/src/Sanitizer'); include_spip('lib/svg-sanitizer/src/Sanitizer');
include_spip('lib/svg-sanitizer/src/data/AttributeInterface'); include_spip('lib/svg-sanitizer/src/data/AttributeInterface');
...@@ -50,11 +50,22 @@ function metadata_svg_dist($file) { ...@@ -50,11 +50,22 @@ function metadata_svg_dist($file) {
include_spip('lib/svg-sanitizer/src/data/AllowedTags'); include_spip('lib/svg-sanitizer/src/data/AllowedTags');
$sanitizer = new Sanitizer(); $sanitizer = new Sanitizer();
$sanitizer->setXMLOptions(0); // garder les balises vide en ecriture raccourcie
$svg = file_get_contents($file); $svg = file_get_contents($file);
// Pass it to the sanitizer and get it back clean // Pass it to the sanitizer and get it back clean
$clean_svg = $sanitizer->sanitize($svg); $clean_svg = $sanitizer->sanitize($svg);
ecrire_fichier($file, $clean_svg); ecrire_fichier($file, $clean_svg);
// loger les sanitization
$trace = "";
foreach ($sanitizer->getXmlIssues() as $issue) {
$trace .= $issue['message'] . " L".$issue['line']."\n";
}
if ($trace) {
spip_log($trace, "svg" . _LOG_DEBUG);
}
} }
$metadata = charger_fonction('image', 'metadata'); $metadata = charger_fonction('image', 'metadata');
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter