php判断远程图片是否防盗链

php判断远程图片是否防盗链

function checkpic($url){
        $curl = curl_init($url);//设置url
        curl_setopt($curl, CURLOPT_REFERER, 'http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]);//伪装referer(正常在地址栏输入网址能打开,因为referer是空的,而在网页中用 src 打开时referer是有内容的所以打不开,referer内容可以到浏览器控制台查看,这一步就是假装是我们的网页内打开的,来判断图片是否设置了防盗链)
        curl_setopt($curl, CURLOPT_HEADER, 1); //获取Header
        curl_setopt($curl,CURLOPT_NOBODY,true); //因为我们只需要Header,所以Body就不要了吧
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //数据存到成字符串吧,别给我直接输出到屏幕了
        $data = curl_exec($curl); //开始执行啦~
        
        $status=curl_getinfo($curl,CURLINFO_HTTP_CODE); //获得HTTPSTAT码
        curl_close($curl); //用完记得关掉他
        return ($status==200)?true:false;//如果状态码是200返回真,那状态码是403自然就返回假了。
}

 

发表评论

邮箱地址不会被公开。 必填项已用*标注