Forum und email

escapeshellcmd

(PHP 4, PHP 5)

escapeshellcmd — Maskiert Shell-Metazeichen

Beschreibung

string escapeshellcmd ( string $befehl )

escapeshellcmd() 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.