PHP防止未授权域名盗链

/ 0评 / 0
<?php
//防盗链域名,多个用|隔开,如:123.com|abc.com 关闭请留空
define('FDL_URL','baidu.com|qq.com');
 
//判断域名防盗链
if(!is_referer(FDL_URL)){
    header('HTTP/1.1 403 Forbidden');
    exit('403');//发现盗链返回403代码,也可以自行弄跳转
}
//判断防盗链域名
function is_referer($domain){
    //没有设置防盗链
    if($domain=='') return true;
    $referer = strtolower($_SERVER['HTTP_REFERER']);
    $agent = strtoupper($_SERVER['HTTP_USER_AGENT']);
    //部分手机浏览器没有来路
    if(empty($referer)){
        if(preg_match("/(iPhone|iPad|iPod|Android|Linux)/i", $agent)){
            return true;
        }
    }else{
        //开始验证
        $ext = explode("|",$domain);
        for($i=0;$i<count($ext);$i++){
            if(strpos($referer,strtolower($ext[$i])) !== FALSE ){
                return true;
            }
        }
    }
    return false;
}
?>

发表评论

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