PHP在php文件上调用exec以在后台执行

时间:2014-01-27 17:39:21

标签: php exec

我想用exec执行一个PHP文件,以便在后台处理一个进程,其中1234567是我希望从数据库调用的id,以获取有关我的内容的一些信息处理。

exec('/var/www/somescript.php 1234567 > /dev/null &');

我可能遇到任何潜在的安全问题或问题吗?

我应该对我传入的参数使用escapeshellarg()吗?

1 个答案:

答案 0 :(得分:0)

我确定这取决于是否应该通过网络用户调用,以及是否由用户创建了争论或执行命令。

在我看来应该总是调用使用escapeshellarg(),因为你不会使用MYSQL_函数而不会因为SQL注入的风险而逃避任何输入。使用exec函数是一个类似的问题,如果不转义输入,就不会使用脚本。但是,逃避输入并不一定会阻止人们滥用脚本。

你确实需要确保已经对发送到脚本的任何参数进行了验证,例如你不希望任何人注释掉你的脚本,并且在arguement部分注入一个完全不同的脚本来添加一个用户(鉴于propper权限,不应允许这种情况发生。)

我会将此作为最后的手段,如果问题不能以任何其他方式解决,而不是使用exec。