Limiter les données de cache (meta) par certains formulaires #5156

Closed
opened 8 months ago by marcimat · 3 comments
Owner

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.

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.
b_b added the
amélioration
label 8 months ago
b_b added this to the 4.1 milestone 8 months ago
Owner

J'affecte à la branche 4.1 sans être certain, ça pourrait être uniquement 4.2.

J'affecte à la branche 4.1 sans être certain, ça pourrait être uniquement 4.2.
Poster
Owner

Oui, je pense que c’est à réserver pour la 4.2 quand même.
Par ailleurs il faut faire la même chose dans les plugins du core

Oui, je pense que c’est à réserver pour la 4.2 quand même. Par ailleurs il faut faire la même chose dans les plugins du core
marcimat modified the milestone from 4.1 to 4.2 8 months ago
Poster
Owner

On a tout fait je pense pour le core.

On a tout fait je pense pour le core.
marcimat closed this issue 4 months ago
Sign in to join this conversation.
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.