PHP使用过程中常用的两种防盗代码,亲测可用:

代码一:

<?php
//防盗链域名,多个用|隔开,如:123.com|abc.com 关闭请留空
define('FDL_URL','域名');

//判断域名防盗链
if(!is_referer(FDL_URL)){
    //header('HTTP/1.1 403 Forbidden');
    //exit('403');//发现盗链返回403代码,也可以自行弄跳转
        header("Location: http://www.baidu.com",TRUE,301);
        exit;
}

//判断防盗链域名
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;
}
?>

代码二:

<?php
define('REFERER_URL',  '域名');
define('ERROR', '<html><meta name="robots" content="noarchive"><head><title>自行修改title</title></head><style>h1{color:#00A0E8; text-align:center; font-family: Microsoft Jhenghei;}p{color:#f90; font-size: 1.2rem;text-align:center;font-family: Microsoft Jhenghei;}</style><body bgcolor="#000000"><table width="100%" height="100%" align="center"><td align="center"><h1>本站已开启API防盗</h1><p>请勿盗链</p></table></body></html>');
if(!empty(REFERER_URL))
{
    @$referer = $_SERVER['HTTP_REFERER'] ? $_SERVER['HTTP_REFERER'] : base64_decode($_POST['referer']);
    $refererhost = parse_url($referer, PHP_URL_HOST);
    if(!in_array(strtolower($refererhost),explode("|", strtolower(REFERER_URL))))
    {
        header('HTTP/1.1 403 Forbidden');
        exit(ERROR);
    }
}
?>

大家在使用中可以按生产情况自行集成