Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在apache上使用web服务的root权限运行脚本_Php_Apache_Root - Fatal编程技术网

Php 如何在apache上使用web服务的root权限运行脚本

Php 如何在apache上使用web服务的root权限运行脚本,php,apache,root,Php,Apache,Root,我必须使用php webservice的root权限运行python脚本 $telephoneNumber = $_REQUEST["telephoneNumber"]; $textMessage = $_REQUEST["textMessage"]; $command = "sudo python /home/frank/Desktop/Main.py singular $telephoneNumber \"$textMessage\""; system($command, $output)

我必须使用php webservice的root权限运行python脚本

$telephoneNumber = $_REQUEST["telephoneNumber"];
$textMessage = $_REQUEST["textMessage"];

$command = "sudo python /home/frank/Desktop/Main.py singular $telephoneNumber \"$textMessage\"";
system($command, $output);

$outVO->setOutcome(1);
$outVO->setDescription($output);

return $outVO;

但是web服务的专有属性是www数据,因此不起作用

您遇到的问题之一是您试图访问主目录中的文件。您的工作目录中应该同时包含这两个文件,以简化此操作。

虽然这可能不太理想,但它不会阻止此代码工作。如果权限是问题,则可能不会。在这种情况下,他需要sudo。但如果我提供的答案不够充分,那么就有可能被恶意使用。请注意,这是非常危险的代码。想象一下,如果有人提交一个数字或信息,如\;sudorm-rf/;在我看来,这并不危险,因为数字和文本是简单的字符串,将被传递到处理发送SMSY的GSM模块。如果您搞错了。如果用户包括:;或者使用各种其他技巧,以下文本不会作为参数传递给Python脚本,而是由shell作为单独的命令进行计算。即使您将sudo限制为特定的命令,恶意用户仍可能做不希望做的事情。请阅读中的警告。你完全正确!!!