держи, мож пригодится. на вход подаёшь массив доменов вида domain.com: PHP: foreach($domains as $domain){ $useragent = 'тут какой-нибудь юзерагент подставишь'; reparse: //линк страницы проверки на safebrowsing https://transparencyreport.google.com/safe-browsing/search?url= $url = 'https://www.google.com/transparencyreport/api/v3/safebrowsing/status?site='.$domain; $ch = curl_init($url); curl_setopt($ch, CURLOPT_USERAGENT, $useragent); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 7); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3); $check = curl_exec($ch); curl_close($ch); if(!strstr($check,'sb.ssr')){ goto reparse; } /* возможные варианты того, что может быть в файле ответа(я так думаю, что это не все, но это всё, что мне удалось насобирать с 3к доменов), на них и строится дальнейшая логика, что делать с доменом, добавить в блеклист или нет ,6,0,0,0,0,0,0, - No available data ,1,0,0,0,0,0, - No unsafe content found ,2,1,0,0,0,0, - Send visitors to harmful websites ,3,0,0,1,0,0, - Some pages on this site are unsafe. Try to trick visitors into sharing personal info or downloading software ,3,0,1,0,0,0, - Some pages on this site are unsafe. Install unwanted or malicious software on visitors’ computers ,3,1,0,1,0,0, - Some pages on this site are unsafe. Send visitors to harmful websites/Try to trick visitors into sharing personal info or downloading software */ if(strstr($check,'[["sb.ssr",6,') OR strstr($check,'[["sb.ssr",1,')){//проверка данных по домену, полученных в файле ответа, если код ответа 6 или 1, значит всё ок //исключаем дор из блеклиста или просто пропускаем, вобщем выполняем нужное действие, если с доменом всё ок }else{ $counter++; file_put_contents('blacklist.txt',"$counter. $domain: bad ".time().PHP_EOL,FILE_APPEND); }}
Исправлено, добавлена опция Check, которая позволяет указать делать ли проверку по всему урлу или только по домену.