(PHP 4, PHP 5)
escapeshellcmd — Escapar meta-caracteres del intérprete de comandos
escapeshellcmd() escapa cualquier caracter en una cadena que pueda ser usado para engañar a un comando de shell a que ejecute comandos arbitrarios. Esta función puede ser usada para asegurarse de que cualquier dato viniendo de la entrada del usuario sea escapado antes de que este dato sea pasado a las funciones exec() o system(), o al operador de comilla invertida.
Los siguientes caracteres son precedidos por una barra invertida: #&;`|*?~<>^()[]{}$\, \x0A y \xFF. ' y " son escapados únicamente si no están emparejados. En Windows, todos estos caracteres mas % son reemplazados por un espacio en su lugar.
El comando a ser escapado.
La cadena escapada.
Example#1 Ejemplo de escapeshellcmd()
<?php
$e = escapeshellcmd($entrada_usuario);
// aqui no nos importa si $e tiene espacios
system("echo $e");
$f = escapeshellcmd($nombre_archivo);
// y aqui si, asi que usamos comillas
system("touch \"/tmp/$f\"; ls -l \"/tmp/$f\"");
?>