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