В чем разница между escapeshellarg и escapeshellcmd?
PHP имеет 2 тесно связанные функции,escapeshellarg()
а такжеescapeshellcmd()
, Они оба, кажется, делают схожие вещи, а именно помогают сделать строку более безопасной для использования вsystem()
/exec()
/и т.д.
Какой из них я должен использовать? Я просто хочу иметь возможность принимать пользовательский ввод и запускать на нем команду, а не все взорвать. Если бы в PHP была функция exec-type-function, которая принимает массив строк (например, argv), который обходит оболочку, я бы использовал это. Похож на питонаsubprocess.call()
функция.