Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.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脚本执行curl命令?_Php_Python_Python 2.7_Curl_Post - Fatal编程技术网

无法从php脚本执行curl命令?

无法从php脚本执行curl命令?,php,python,python-2.7,curl,post,Php,Python,Python 2.7,Curl,Post,我试图创建一个PHP脚本,当有人点击一个按钮时,该脚本将被调用,并将被带到vt.PHP。现在,我想根据从上一个PHP页面收到的vt哈希下载示例。现在,我尝试使用此逻辑,但它不起作用 <?php $fileHash = $_POST['hash']; echo $fileHash; #$command = escapeshellcmd("python vt_download.py $fileHash"); $command = escapeshellcmd("curl -v --loc

我试图创建一个PHP脚本,当有人点击一个按钮时,该脚本将被调用,并将被带到vt.PHP。现在,我想根据从上一个PHP页面收到的vt哈希下载示例。现在,我尝试使用此逻辑,但它不起作用

<?php


$fileHash = $_POST['hash'];

echo $fileHash;
#$command = escapeshellcmd("python vt_download.py $fileHash");
$command = escapeshellcmd("curl -v --location https://www.virustotal.com/vtapi/v2/file/download?apikey=APIKEY\&hash=$fileHash -o $fileHash");
$output = shell_exec($command);
echo $output;

?>
输出 C75B5E2CA63ADB462F4B941E0C9F509

预期产量 C75B5E2CA63ADB462F4B941E0C9F509 文件下载过程——卷曲输出

当调用此页面时,它只是打印哈希而不是下载文件。有什么建议可以解决此问题吗

注意:-以前在这里问过这个问题,使用python的这个或那个都会有帮助。

您可以直接使用而不是使用shell_exec函数,在使用用户输入的数据时,该函数会很快导致安全问题

<?php
    $fileHash = $_POST['hash'];

    // Initializing cURL, we can put the URL in the curl_init function
    $ch = curl_init("https://www.virustotal.com/vtapi/v2/file/download?apikey=AP‌​IKEY&hash=$fileHash")

    // We need to retrieve the response, setting appropriate options :
    curl_setopt($ch , CURLOPT_RETURNTRANSFERT , true);

    // Executing the request
    $result = curl_exec($ch);

    // Error verification
    if (!$result){
        echo('Error: "' . curl_error($curl) . '" - Code: ' . curl_errno($curl));
    }
    curl_close($ch);
?>

无需使用shell_exec,它为安全漏洞打开了大门,特别是在您提供用户输入数据的情况下。cUrl也是作为一个PHP库存在的:您使用的是escaeshellcmd,但您似乎也做了一些手动转义。它应该是一个或另一个。@sirmpotato它是正确的吗?@apokryfos有其他的使用方法吗???@BackdoorCipher就是这个主意。回答。