В чем разница между escapeshellarg и escapeshellcmd?

PHP имеет 2 тесно связанные функции,escapeshellarg() а такжеescapeshellcmd(), Они оба, кажется, делают схожие вещи, а именно помогают сделать строку более безопасной для использования вsystem()/exec()/и т.д.

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

Ответы на вопрос(4)

Ваш ответ на вопрос