setCurlOptions(CURLOPT_CONNECTTIMEOUT, 10);
$curlHandle->setCurlOptions(CURLOPT_URL, $camasURL . '/cgi-bin/file');
$curlHandle->setCurlOptions(CURLOPT_USERAGENT, $userAgent);
$ret = $curlHandle->uploadFile($fileToUpload); //submit file
$reply = $curlHandle->getTransferDetails(); //retrieve results
$err = $curlHandle->getLastError(); //retrieve any error messages
if($reply['http_code'] == 200 )
{//file was received by the server, continue
$curlHandle->setCurlOptions(CURLOPT_URL, $camasURL . $ret);
$i=0;
do{
$ret = explode("\n", $curlHandle->submitData('get') );
$reply = $curlHandle->getTransferDetails();
$verdict = trim(substr($ret[0], strpos($ret[0],"=")+1));
sleep(5);
}while($verdict === 'Analysing' );
switch($verdict)
{
case 'Suspicious':
case 'Suspicious+':
case 'Suspicious++':
$repUrl = trim(substr($ret[1], strpos($ret[1],"=")+1));
$curlHandle->setCurlOptions(CURLOPT_URL, $repUrl);
$report = $curlHandle->submitData('get');
echo '{ "error" : "false", "msg" : "The file submitted has been found as: '. $verdict .'", "url" : "'. $repUrl .'" }';
break;
case 'Malware':
$virus = trim(substr($ret[1], strpos($ret[1],"=")+1));
echo '{ "error" : "false", "msg" : "The file submitted has been detected as malware: '. $virus .'!", "url" : "" }';
break;
case 'Undetected':
echo '{ "error" : "false", "msg" : "The file submitted has been found as: Safe ", "url" : "" }';
break;
default:
echo '{ "error" : "false", "msg" : "The file submitted has been found as: '. $verdict .'", "url" : "" }';
}
}else{ echo '{ "error" : "true", "msg" : "An error occured while submitting the file for analysis. Please wait a few minutes and try again. Thank you for your understanding.", "url" : "" }'; }
//clear objects
unset($curlHandle);
?>