我想知道是否好(或坏),在PHP中使用exec()命令...
例如,使用API Paypal REST,我使用exec()(使用curl)而不是来自PHP的curl
$a = exec('curl -v '.$this->ENDPOINT.'/v1/oauth2/token \
-H "Accept: application/json" \
-H "Accept-Language: fr_FR" \
-u "'.$this->CLIENTID.':'.$this->SECRET.'" \
-d "grant_type=client_credentials"'
);
$a = json_decode($a);
有什么影响?最好不要这样做吗? 谢谢你们
答案 0 :(得分:2)
如果这些参数不是来自最终用户,那么您非常安全。如果没有,那么你一定要通过escapeshellarg()
$a = exec('curl -v '.escapeshellarg($this->ENDPOINT).'/v1/oauth2/token \
-H "Accept: application/json" \
-H "Accept-Language: fr_FR" \
-u "'.escapeshellarg($this->CLIENTID).':'.escapeshellarg($this->SECRET).'" \
-d "grant_type=client_credentials"'
);
$a = json_decode($a);