escapeshellcmd
(PHP 4, PHP 5)
escapeshellcmd — Protège les caractères spéciaux du Shell
Description
$command
)
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 % sont remplacés par un espace.
Liste de paramètres
-
command
-
La commande à échapper.
Valeurs de retour
La chaîne échappée.
Exemples
Exemple #1 Exemple avec escapeshellcmd()
<?php // Nous autorisons un nombre arbitraire d'arguments de façon intentionnel ici. $command = './configure '.$_POST['configure_options']; $escaped_command = escapeshellcmd($command); system($escaped_command); ?>
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.
Voir aussi
- escapeshellarg() - Protège une chaîne de caractères pour utilisation en ligne de commande
- exec() - Exécute un programme externe
- popen() - Crée un processus de pointeur de fichier
- system() - Exécute un programme externe et affiche le résultat
- les guillemets obliques