如何使用Safebrowsing-API处理重定向?

时间:2019-08-24 13:12:56

标签: php google-api safe-browsing-api

我有一个允许他人共享网址的网站。为了确保没有人进入“邪恶的”网站,我使用了Google安全浏览API:

 $url = 'https://safebrowsing.googleapis.com/v4/threatMatches:find?key='.$key;
    $data = array(
        'client' => array('clientId'=> $clientId, 'clientVersion'=>'0.1'),
        'threatInfo' => array(
            'threatTypes'=>array('MALWARE', 'SOCIAL_ENGINEERING','UNWANTED_SOFTWARE'),
            'platformTypes'=> array('ANY_PLATFORM','ALL_PLATFORMS', 'ANDROID','WINDOWS','IOS','OSX','LINUX'),
            'threatEntryTypes'=> array('URL'),
            'threatEntries' => array('url'=>$tsturl)
        ),
    );
    $data_json=json_encode($data);
    $ch=curl_init();

    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS,$data_json);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $response  = curl_exec($ch);
    curl_close($ch);

此功能符合设计要求。因此,如果我添加一个类似thisisevil.com的网络钓鱼站点,则api-call会返回警告。

但是,如果有人使用诸如tny.sh/abcefg之类的网址缩短程序,然后将其重定向到thisisevil.com,那么safebrowsing-api不会 告诉我存在威胁。

是否可以告诉安全浏览api遵循重定向?

1 个答案:

答案 0 :(得分:0)

您始终可以向您要测试的URL发出请求,看看它是否重定向到某个地方,如果是,则将重定向的URL传递到安全浏览API。

但是最终,如果有人想要重定向到恶意URL,那么您只会做得更艰难。黑名单充其量只能部分有效。