在PHP中的curl调用中运行shell命令

时间:2019-05-29 12:49:21

标签: php shell curl chmod

我正在使用curl,如下所示。 http://99.88.77.121/sample/curl.php

$ch = curl_init();
        $ip = "Some IP address";
        curl_setopt($ch, CURLOPT_URL, 'http://99.88.77.121/test/index.php');
        curl_setopt($ch, CURLOPT_POST, 1);

        $payload = json_encode(
                            array( 
                                'username' => 'abc', 
                                'password' => '1234'
                                )
                            );

        curl_setopt($ch, CURLOPT_POSTFIELDS,$payload);
        curl_setopt( $ch, CURLOPT_HTTPHEADER, array("REMOTE_ADDR: $ip", "HTTP_X_FORWARDED_FOR: $ip"));
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $result = curl_exec ($ch);

上面的代码将数据发送到网址。

我的 http://99.88.77.121/test/index.php

中具有以下代码
<?php 

  $fp = fopen('php://input', 'r');
  $rawData = stream_get_contents($fp);
  $data = json_decode($rawData);
  $username = $data->username;
  $password = $data->password;
  $projectName = "testFolder";
  chdir('../');
  //chdir($projectName);
  $command = "sudo chmod -R 777 ".$projectName;
  shell_exec($command);

?>

我正在尝试使用上面的代码

授予对testFolder的完全许可

chdir()和shel_exec()在这里可以工作吗?就我而言,它不起作用

如果我在浏览器中运行index.php,其工作正常。但不是通过curl调用的。

任何人都可以调查一下,并告诉我您的想法。

0 个答案:

没有答案