• XSS.stack #1 – первый литературный журнал от юзеров форума

Virustotal API на PHP

lenovo

RAID-массив
Пользователь
Регистрация
06.10.2008
Сообщения
96
Реакции
96
Привет,

на VirusTotal есть функция проверки сайтов на вирусы. Я нашел скрипт на php который реализует посредством API проверку нужных сайтов(в моем примере google.com). Но почемуто при запуске скрипта => WhiteScreen. Где подвох?

Код:
<?php

function scan_url($url, $key){

	$key = 'b985652a761d95b2b05a2dbf0e73659e8e664f65988ea552aadb9e7184175c0b'; // Your API key
	$url = 'google.com';

	$surl = 'http://www.virustotal.com/api/scan_url.json';
	$fields = array('url'=>$url, 'key'=>$key);
	$fields_string='';
	foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
	$fields_string=rtrim($fields_string,'&');

	$ch = curl_init();

	curl_setopt($ch,CURLOPT_URL,$surl);
	curl_setopt($ch,CURLOPT_POST,count($fields));
	curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

	$result = curl_exec($ch);

	curl_close($ch);

	$result = json_decode($result, true);

	if($result['result']=="1"){
  return $result['scan_id'];
	} else {
  return false;
	}

}

function get_reporturl($key,$scan_id,$scan=false){

	$key = 'b985652a761d95b2b05a2dbf0e73659e8e664f65988ea552aadb9e7184175c0b'; // Your API key
	$scan_id = 'google.com';
	$scan = '1';

	$url = 'http://www.virustotal.com/api/get_url_report.json';
	$fields = array('resource'=>$scan_id, 'key'=>$key,'scan'=>$scan);
	$fields_string='';
	foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
	$fields_string=rtrim($fields_string,'&');

	$ch = curl_init();

	curl_setopt($ch,CURLOPT_URL,$url);
	curl_setopt($ch,CURLOPT_POST,count($fields));
	curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

	$result = curl_exec($ch);

	curl_close($ch);

	$result = json_decode($result, true);

	if($scan && $result['result']=="0"){
  return $result['scan_id'];
	} else {
  return $result;
	}

}
 
?>

Спасибо зарание за ответ.
 
ЕЕе ты чего-то не разобрался со скриптом :)
Не стоило запихать внутрь функции $key и $url, или же не передавать их в параметрах функции, ну и саму функцию неплохо бы вызвать..
вообщем подправил немного твой скрипт
Код:
<?php
function get_reporturl($key, $url,$scan=false){

$scan = '1';

$url = 'http://www.virustotal.com/api/get_url_report.json';
$fields = array('resource'=>$url, 'key'=>$key,'scan'=>$scan);
$fields_string='';
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
$fields_string=rtrim($fields_string,'&');

$ch = curl_init();

curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec($ch);

curl_close($ch);

$result = json_decode($result, true);

if($scan && $result['result']=="0"){
 return $result['scan_id'];
} else {
 return $result;
}

}
$key = 'b985652a761d95b2b05a2dbf0e73659e8e664f65988ea552aadb9e7184175c0b'; // Your API key
$url = 'http://site.com';
print_r( get_reporturl( $key,$url));
?>
 
Спасибо большое. Теперь работает. Как я понял, сканирование для одного URL может быть только один раз? Потому что при повторном запуске скрипта, выдает прошлый print.
 
По правде говоря этот скрипт неактуален(VirusTotal чекает домен по очень маленькому списку блеклистов). Более актуальный скрипт лежит тут.Если хочешь чекнуть домен на блек - юзай апи таких сервисов как scan4you или palevobiz итд.
А самый актуальный вариант-писать свое под свои нужды! Скажем наваять чекер на основе сервиса UrlVoid дело 5-10 мин :)
Как я понял, сканирование для одного URL может быть только один раз? Потому что при повторном запуске скрипта, выдает прошлый print.
Нет-при повторном запуске срипта выдает результат скана.
 
Спасибо за ответ.

Я хочу сделать скрипт который будет вызываться кроном скажем каждые 10 мин. и сканировать мои сайты на трояны. Если будут, то слать на мыло... В общем что-то типа защитного скрипта.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх