Changeset 112227 in spip-zone


Ignore:
Timestamp:
Oct 31, 2018, 7:52:50 AM (12 months ago)
Author:
gouz@…
Message:

remise en place de la surcharge de la wheel echappe-js (nécessaire pour filtrage XSS) et utilisation d un uniqid() pour l'echappement dans inc_echapper_html_suspect_dist() histoire d éviter les injections <div class="base64" title="code_encodé"> puis version++

Location:
_plugins_/htmlpurifier
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/htmlpurifier/htmlpurifier_options.php

    r112222 r112227  
    77);
    88
     9$GLOBALS['spip_wheels']['echappe_js'] = array(
     10        'htmlpurifier/echappe-js.yaml'
     11);
  • _plugins_/htmlpurifier/inc/echapper_html_suspect.php

    r112209 r112227  
    66                return $texte;
    77        }
     8       
     9  if (preg_match("@^<[a-z]{1,5}( class=['\"][a-z _-]+['\"])?>$@iS", $texte)) return $texte;
    810        // si le texte contient un modele ou une ressource : on protège avant filtrage
    911        $preg_modeles="@"._PREG_MODELE."@imsS";
    1012        if (!$strict and preg_match($preg_modeles, $texte) ){
    11                 $texte = echappe_html($texte, '', true, $preg_modeles);
     13                $tid = creer_uniqid();
     14                $texte = echappe_html($texte, $tid, true, $preg_modeles);
     15                $texte = expanser_liens($texte);
     16                $texte = traiter_raccourcis($texte);
    1217                $texte = safehtml($texte);
    13                 $texte = echappe_retour_modeles($texte, true);
     18                $texte = echappe_retour($texte, $tid);
    1419        } else {
    1520                $texte = safehtml($texte);
  • _plugins_/htmlpurifier/paquet.xml

    r112223 r112227  
    22        prefix="htmlpurifier"
    33        categorie="outil"
    4         version="4.10.0.8"
     4        version="4.10.0.9"
    55        etat="stable"
    66        compatibilite="[1.9.0;3.2.99]"
  • _plugins_/htmlpurifier/wheels/htmlpurifier/interdire-scripts.yaml

    r112222 r112227  
    2020
    2121securite-js:
    22   if_str: "<script"
    23   match: "{<script.*?($|</script.)}isS"
    24   is_wheel: y
    25   replace:
    26     -
    27       type: all
    28       replace: htmlspecialchars
    29       is_callback: Y
    30     -
    31       type: all
    32       replace: nl2br
    33       is_callback: Y
    34     -
    35       type: all
    36       replace: "<code class=\"securite-js\">$0</code>"
    37 
     22  if_str: "<"
     23  if_match: "/<[a-z]+/iS"
     24  type: all
     25  replace: "echappe_js"
     26  is_callback: Y
     27 
    3828securite-base:
    3929  if_str: "<base"
Note: See TracChangeset for help on using the changeset viewer.