Ответ Poke хорош - однако, сколько команд им нужно выполнить? Я бы подумал о реализации белого списка команд и аргументов - таким образом, вы можете быть чертовски уверены, что они не являются инъекцией вредоносного ввода. Что-то вроде:
$whitelistCommandArray = array('ls' => 'ls', ...);
if (isset($whitelistCommandArray[$userSuppliedCommand]])
{
//ok its a valid command, lets parse the args next
...
}
else echo "Unsupported command";
Обновление / редактирование:
Возможен ли белый список аргументов?
Что делать, если OP нужно редактировать множество
файлов? - Matchu
хе, я не знаю - это может быть - полностью зависит от ваших потребностей.
$whitelistArray = array('ls' => array('a', 'l', 'h'), ...);
Нечто подобное работает - и с командой, и с массивом аргументов для нее.