Apostrophe dans le titre d'un "plugin" ?

GzygGzyg Member
Bonjour,

Si je déclare un titre avec une apostrophe (par exemple : l'intégrale (testé avec les plugins MySearch, MyContact, MyAllArchives), toutes les pages des plugins s'effacent du menu de navigation.

PluXml 5.3.1, plugins dans leur dernière version (page plugins de pluxopolis).

Une idée ?


Merci, à plus,

Gzyg

Réponses

  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour Gzyg
    C'est noté. J'ai trouvé de quoi ça vient.
    Il faudra que je mette à jour tous les plugins avec un correctif :\

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Sorry pour ce travail en plus... :(

    Sinon, pour ma culture perso, ça vient d'où ?


    à plus,

    Gzyg
  • StéphaneStéphane Member, Former PluXml Project Manager
    Pour faire très simple au niveau de l'explication

    cas 1:
    $menu = 'Annonce';
    eval("echo '".$menu."';");
    

    => affichage ok

    cas 2:
    $menu = "L'annonce";
    eval("echo '".$menu."';");
    

    => affichage ko car on concatène avec une chaine contenant une simple quote non protégée par un anti-slash

    cas 3:
    $menu = "L'annonce";
    eval("echo '".addslashes($menu)."';");
    

    => affichage ok grâce à l'utilisation de la fonction addslashes

    Au niveau des plugins on est dans la logique du cas 2 où ça plante à cause de ce genre de code.
    Il faut appliquer un correctif semblable au cas 3

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Merci pour l'explication.

    Je vais attendre le correctif. :D


    à plus,

    Gzg
  • mathieumathieu Member
    janvier 2016 modifié
    un "addslashes" seul ne suffit pas sinon les guillemets sont remplacés par \"
    j'ai essayé avec le code suivant, ça a l'air de gérer tous les cas :
    str_replace("\\\"", "\"", addslashes($nom))
    


    J'ai fait les modifications dans les fichiers des extensions suivantes (les liens fonctionneront seulement jusqu'au 28 février 2016) :

    plxMyAllArchive.php :
    https://framadrop.org/r/soz7shpRy_#kwyVqaKDYbEA8Z8JvydpSOIi2Pa7BEQ1gcQnxIAIAAU=

    plxMyContact.php :
    https://framadrop.org/r/Pu7Q5bqq4X#aKS7JbEXwmbW32xrq8SlaCXtHXkKNDynSoLd26FjM30=

    plxMySearch.php:
    https://framadrop.org/r/jGORFfDiiQ#LjL9cetN4Mq609EMDnrDVviLd40UAFbFj3F9mIMGz/4=
  • ok merci, c'est vrai que j'avais tenté avec les fonctions de plxUtils mais en vain ... pas trouvé la bonne ou alors elle n'existe pas :D
  • j'avais proposé une modification de PluXml pour gérer les guillemets mais en fait cela ne va pas puisque le méthode "plxUtils::printInput" est déjà utilisé à plein d'endroits dans le cœur.

    Donc pour gérer les guillemets, je pense qu'il vaut mieux modifier les extensions en utilisant "plxUtils::strCheck" pour les valeurs affichées dans un champ texte.
  • StéphaneStéphane Member, Former PluXml Project Manager
    mathieu a écrit:
    j'avais proposé une modification de PluXml pour gérer les guillemets mais en fait cela ne va pas puisque le méthode "plxUtils::printInput" est déjà utilisé à plein d'endroits dans le cœur.

    Donc pour gérer les guillemets, je pense qu'il vaut mieux modifier les extensions en utilisant "plxUtils::strCheck" pour les valeurs affichées dans un champ texte.

    je n'avais pas validé cette modif car elle ne convenait pas effectivement

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

Connectez-vous ou Inscrivez-vous pour répondre.