Jaka jest różnica między escapeshellarg a escapeshellcmd?
PHP ma 2 ściśle powiązane funkcje,escapeshellarg()
iescapeshellcmd()
. Oboje wydają się robić podobne rzeczy, a mianowicie pomagają uczynić sznurek bezpieczniejszym w użyciusystem()
/exec()
/itp.
Którego powinienem użyć? Chcę tylko mieć możliwość wprowadzania danych przez użytkownika i uruchamiać na nim polecenie, a nie wszystko wysadzać. Jeśli PHP miałoby funkcję exec-type, która wzięła tablicę ciągów (jak argv), która omija powłokę, użyłbym tego. Podobny do Pythonasubprocess.call()
funkcjonować.