Limiter les données de cache (meta) par certains formulaires
Suite de spip-team/securite#4828 indiqué à l’origine par @JLuc.
Les fonctions 'config' des formulaires CVT d’édition d’objet xxx_edit_config()
envoient par défaut tout le contenu de spip_meta
dans l’environnement du formulaire, dans la clé config
.
Comme par exemple
function auteurs_edit_config($row) {
...
$config = $GLOBALS['meta'];
...
return $config;
}
Ceci a pour conséquence que parfois des fichiers de caches sont générés qui contiennent en commentaire le contenu de spip_meta. C’est inutile vu qu’on peut utiliser #CONFIG
en squelettes ou lire_config
en PHP pour obtenir cette information.
Comme disait @cerdic
Cependant c'est subotptimal du point de vue perfo, c'est clairement hérité du vieux code historique PHP quand j'ai migré tout ça en CVT et ce serait très bien de nettoyer les config en ne passant que les valeurs vraiment utiles et modifiables localement le reste étant alors accessible via
#CONFIG
Il y a donc un nettoyage de code à faire. Par ailleurs cela peut impacter certains pipelines ou squelettes qui ne recevront plus l’ensemble de spip_meta dans la clé config de l’environnement.