如何使用安全浏览处理重定向 - api?

How to handle redirects with the safebrowsing - api?

我有一个允许其他人共享 url 的网站。为了确保没有人进入 "evil" 网站,我使用 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-调用 returns 会发出警告。

但是如果有人使用像 tny.sh/abcefg 这样的 url 缩短器然后重定向到 thisisevil.com 安全浏览-api 不会 告诉我有威胁。

有没有办法让安全浏览 api 遵循重定向?

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

但最终你只能让它变得更难,如果有人想重定向到恶意 URL,他们会的。黑名单充其量只是部分有效。