Skip to content
Extraits de code Groupes Projets
Valider 255be8fb rédigé par cerdic's avatar cerdic
Parcourir les fichiers

Fix un problème recurent de fuite de données lorsque les utilisateur mettent...

Fix un problème recurent de fuite de données lorsque les utilisateur mettent un #FORMULAIRE_TRUC dans un modeles/xxxx.html : le formulaire perd son dynamisme quand il est inclus dans l'appelant, que ce soit via un <xxxx|> ou via un #MODELE{xxx}. On repere le cas est on injecte du PHP qui appelle la fonction executer_balise_dynamique() au lieu d'injecter l'appel a la fonction lui meme
parent 4856a41b
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -135,7 +135,20 @@ function balise_FORMULAIRE__dist($p) { ...@@ -135,7 +135,20 @@ function balise_FORMULAIRE__dist($p) {
} }
// sinon renvoyer un code php dynamique // sinon renvoyer un code php dynamique
return calculer_balise_dynamique($p, $p->nom_champ, []); $p = calculer_balise_dynamique($p, $p->nom_champ, []);
if (!test_espace_prive()
and !empty($p->descr['sourcefile'])
and $f = $p->descr['sourcefile']
and basename(dirname($f)) === 'modeles') {
// un modele est toujours inséré en texte dans son contenant
// donc si on est dans le public avec un cache on va perdre le dynamisme
// et on risque de mettre en cache les valeurs pre-remplies du formulaire
// on injecte donc le PHP qui va appeler la fonction pour generer le formulaire au lieu de directement la fonction
$p->code = "'<'.'?php echo (".texte_script($p->code)."); ?'.'>'";
// dans l'espace prive on a pas de cache, donc pas de soucis (et un leak serait moins grave)
}
return $p;
} }
/** /**
......
...@@ -449,7 +449,7 @@ define('_SPIP_EXTRA_VERSION', '-dev'); ...@@ -449,7 +449,7 @@ define('_SPIP_EXTRA_VERSION', '-dev');
define('_DEV_VERSION_SPIP_COMPAT', '4.0.99'); define('_DEV_VERSION_SPIP_COMPAT', '4.0.99');
// version des signatures de fonctions PHP // version des signatures de fonctions PHP
// (= date de leur derniere modif cassant la compatibilite et/ou necessitant un recalcul des squelettes) // (= date de leur derniere modif cassant la compatibilite et/ou necessitant un recalcul des squelettes)
$spip_version_code = 20211021; $spip_version_code = 20211117;
// version de la base SQL (= Date + numero incremental a 2 chiffres YYYYMMDDXX) // version de la base SQL (= Date + numero incremental a 2 chiffres YYYYMMDDXX)
$spip_version_base = 2021021800; $spip_version_base = 2021021800;
......
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