Safe Ausführen von Shell-Skripten; vars vor der Ausführung entkommen
Stellen wir uns vor, wir haben ein einfaches PHP-Skript, das erhalten solltessh_host
, ssh_username
, ssh_port
vom $ _GET-Array und versuche, mit diesen Parametern eine Verbindung zu SSH herzustellen.
$port = escapeshellcmd($_GET['ssh_port']);
$host = escapeshellcmd($_GET['ssh_host']);
$username = escapeshellcmd($_GET['ssh_username']);
$answer = shell_exec("ssh -p " . $port . " " . $user . "@" . $host);
Istescapeshellcmd()
genug oder brauche ich etwas kniffligeres? Oder vielleicht sollte ich @ verwendescapeshellarg()
in diesem Beispiel?
Vielen Dank