Refactoring de la gestion du _oups dans le formulaire_editer_liens #5281

Merged
cerdic merged 1 commits from neversayoupsagain into master 1 week ago
cerdic commented 1 month ago
Owner
  • utiliser une fonction lien_gerer__oups() pour stocker/set/reset/request la valeur du oups, ce qui permet de la stocker dans une static pour la passer de traiter() à charger() plutot que dans une request()
  • le oups sont accompagnes de l'id_auteur/time/arguments du formulaires, et encodés/signés via la fonction encoder_contexte_ajax() qui utilise le secret_du_site()
  • au decodage, on verifie que id_auteur/time/arguments sont bon et on verifie egalement la structure des donnees dans le oups en vidant tout ce qui est suspect

Refs: spip-team/securite#4836

- utiliser une fonction lien_gerer__oups() pour stocker/set/reset/request la valeur du oups, ce qui permet de la stocker dans une static pour la passer de traiter() à charger() plutot que dans une request() - le oups sont accompagnes de l'id_auteur/time/arguments du formulaires, et encodés/signés via la fonction encoder_contexte_ajax() qui utilise le secret_du_site() - au decodage, on verifie que id_auteur/time/arguments sont bon et on verifie egalement la structure des donnees dans le oups en vidant tout ce qui est suspect Refs: https://git.spip.net/spip-team/securite/issues/4836
cerdic added 1 commit 1 month ago
ad027b46bd Refactoring de la gestion du _oups dans le formulaire_editer_liens :
Owner

Fichtre !

Fichtre !
Owner

Bon, j’ai relu et testé le fonctionnement, et ça semble fonctionner :)

Notons que lien_gerer__oups() ressemble fortement à une classe…

Bon, j’ai relu et testé le fonctionnement, et ça semble fonctionner :) Notons que `lien_gerer__oups()` ressemble fortement à une classe…
marcimat approved these changes 1 month ago
b_b approved these changes 1 month ago
Poster
Owner

Je propose d'intégrer cette PR en master et éventuellement de reporter en 4.1 car la base de site impactée par la petite rupture de compat sur oups est assez réduite.

Pour les version 4.0 et 3.2 je propose d'intégrer le patch https://git.spip.net/spip/spip/compare/master...issue_4836 en remplacement, qui permet de résoudre spip-team/securite#4836 sans impact fonctionnel

Je propose d'intégrer cette PR en master et éventuellement de reporter en 4.1 car la base de site impactée par la petite rupture de compat sur oups est assez réduite. Pour les version 4.0 et 3.2 je propose d'intégrer le patch https://git.spip.net/spip/spip/compare/master...issue_4836 en remplacement, qui permet de résoudre https://git.spip.net/spip-team/securite/issues/4836 sans impact fonctionnel
b_b commented 1 month ago
Owner

Je propose d'intégrer cette PR en master et éventuellement de reporter en 4.1 car la base de site impactée par la petite rupture de compat sur oups est assez réduite.

Pourquoi parles-tu de rupture de compat ?

Pour les version 4.0 et 3.2 je propose d'intégrer le patch https://git.spip.net/spip/spip/compare/master...issue_4836 en remplacement, qui permet de résoudre spip-team/securite#4836 sans impact fonctionnel

+1

> Je propose d'intégrer cette PR en master et éventuellement de reporter en 4.1 car la base de site impactée par la petite rupture de compat sur oups est assez réduite. > Pourquoi parles-tu de rupture de compat ? > Pour les version 4.0 et 3.2 je propose d'intégrer le patch https://git.spip.net/spip/spip/compare/master...issue_4836 en remplacement, qui permet de résoudre https://git.spip.net/spip-team/securite/issues/4836 sans impact fonctionnel +1
Poster
Owner

Je parle de mini rupture de compat parce que si quelqu'un a surchargé l'une des fonctions charger() ou verifier() du formulaire editer_liens alors la feature oups sera cassée chez lui (Si il a forké tout le fichier formulaires/editer_liens.php c'est ok, il aura juste pas les fixs)

C'est un cas assez spécifique pour se permettre de prendre le risque en 4.1 qui est encore pas si déployée que ça, mais ça me semble un peu risqué pour les versions plus anciennes.

Je parle de mini rupture de compat parce que si quelqu'un a surchargé l'une des fonctions `charger()` ou `verifier()` du formulaire `editer_liens` alors la feature oups sera cassée chez lui (Si il a forké tout le fichier `formulaires/editer_liens.php` c'est ok, il aura juste pas les fixs) C'est un cas assez spécifique pour se permettre de prendre le risque en 4.1 qui est encore pas si déployée que ça, mais ça me semble un peu risqué pour les versions plus anciennes.
cerdic added 1 commit 1 month ago
a264b65cf4 Refactoring de la gestion du _oups dans le formulaire_editer_liens :
Poster
Owner

J'ai force-pushé. Ça va le changelog ou vous voulez autre chose ? :p

J'ai force-pushé. Ça va le changelog ou vous voulez autre chose ? :p
b_b commented 1 month ago
Owner

Pour moi c'est tout bon :)

Pour moi c'est tout bon :)
cerdic merged commit 07695e6f35 into master 1 week ago
cerdic deleted branch neversayoupsagain 1 week ago

Reviewers

marcimat approved these changes 1 month ago
b_b approved these changes 1 month ago
The pull request has been merged as 07695e6f35.
Sign in to join this conversation.
Loading…
There is no content yet.