Je travaille actuellement sur un package XSLT. Plus exactement, c'est juste un gestionnaire des différents processeurs XSLT existants : Sablotron, DomXML, et XSLTProc.
Dans le cas de XSLTProc, on doit faire exécuter par PHP la commande suivante :
Code : Tout sélectionner
/usr/bin/xsltproc -o --param prmA "'str1'" prmB "'str2'" file.xml xslt.xsl out.html 2>&1Le problème que je rencontre concerne les paramètres.
Comme vous pouvez le remarquer, les paramètres sont de la forme :
Code : Tout sélectionner
nomDuParamètre "'valeurDuParamètre'"Dans mon premier exemple, les valeurs sont str1 et str2.
Mais si on mettait un simple ou un double guillemet, on aurait une erreur.
L'utilisation des commandes escapeshellarg, et escapeshellcmd doivent sécuriser la commande a exécuter. Bien. Mais je remarque que ça supprime tout simplement les guillemets.
Comment protéger cette chaîne ? Est-ce que je dois juste utiliser addslashes, puis appliquer escapeshellarg et/ou escapeshellcmd ?
En fait j'en ai aucune idée, j'aimerais un peu d'aide à ce sujet
Merci pour votre temps, et bonne journée.