无法从php脚本执行curl命令?
我试图创建一个PHP脚本,当有人点击一个按钮时,该脚本将被调用,并将被带到vt.PHP。现在,我想根据从上一个PHP页面收到的vt哈希下载示例。现在,我尝试使用此逻辑,但它不起作用无法从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
$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=APIKEY&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就是这个主意。回答。