escapeshellcmd Protège les caractères spéciaux du Shell &reftitle.description; stringescapeshellcmd stringcommand escapeshellcmd échappe tous les caractères de la chaîne command qui pourraient avoir une signification spéciale dans une commande Shell. Cette fonction permet de s'assurer que la commande sera correctement passée à l'exécuteur de commande Shell exec et system, ou encore à guillemets obliques. Les caractères suivants seront échappés : &#;`|*?~<>^()[]{}$\, \x0A et \xFF. ' et " sont échappés que s'ils ne sont pas par paire. Sous Windows, tous ces caractères ainsi que % et ! sont précédés d'un accent circonflexe (^). &reftitle.parameters; command La commande à échapper. &reftitle.returnvalues; La chaîne échappée. &reftitle.examples; Exemple avec <function>escapeshellcmd</function> ]]> &reftitle.notes; La fonction escapeshellcmd doit être utilisée sur toute la chaîne de commande, et elle autorise les personnes mal intentionnées de passer un nombre d'arguments arbitraire. Pour échapper un seul argument, la fonction escapeshellarg devrait être utilisée à la place. Les espaces ne sont pas échappés par escapeshellcmd ce qui peut être problématique sur Windows avec des chemins tel que : C:\Program Files\ProgramName\program.exe. Ceci peut être mitigé en utilisant le snippet de code suivant : &reftitle.seealso; escapeshellarg exec popen system les guillemets obliques