escapeshellcmdMaskiert Shell-MetazeichenBeschreibungstringescapeshellcmdstringbefehlescapeshellcmd maskiert alle möglichen
Zeichen in einer Zeichenkette, die dazu benutzt werden könnten,
um einen Shellbefehl zur Durchführung von willkürlichen Befehlen
zu veranlassen. Diese Funktion sollte verwendet werden um
sicherzustellen, dass alle Daten aus einer Benutzereingabe
maskiert werden bevor dieses Daten zu einer der Funktionen
exec, system oder dem
Backtick Operator
übergeben werden. Beispiel:
$e = escapeshellcmd($userinput);
system("echo $e"); // hier ist es egal, ob $e Leerstellen hat
$f = escapeshellcmd($filename);
system("touch \"/tmp/$f\"; ls -l \"/tmp/$f\""); // hier ist es nicht egal
Siehe auch: escapeshellarg,
exec, popen,
system und den Backtick Operator.