Php 如何在apache上使用web服务的root权限运行脚本
我必须使用php webservice的root权限运行python脚本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)
$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限制为特定的命令,恶意用户仍可能做不希望做的事情。请阅读中的警告。你完全正确!!!