所属分类:论坛-技术档案
防盗链的方式有很多,最通用的方式就是通过判断来路等信息来防止素材被盗链,但是只要你是网络可见的资源,只要你能让用户看到,原理上来说都是可以被破解的。我们增加一定的防盗链措施也只是过滤一部分初中级盗链,如果想要盗链,其实防不住的,只是增加了盗链成本而已。
保存为api.php
/**
* 防盗链突破函数
* url 需要破解的图片地址
*/
function curl_json($url){
$ip = array(
'0' => '124.127.133.242',
'1' => '121.114.253.26',
'2' => '228.253.28.44',
);
$nip = array_rand($ip);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
$user_agent ="Mozilla/5.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1)";
$headers['CLIENT-IP'] = $nip;
$headers['X-FORWARDED-FOR'] = $nip;
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt ($ch, CURLOPT_HTTPHEADER , $headers );
// curl_setopt ($ch, CURLOPT_REFERER, "http://www.sucainiu.com");
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
/**
* 破解防盗链后输出图片
*/
$p = @$_GET['p'];
if($p)
{
header('Content-type: image/png');
echo $html = curl_json($p);
}
else
{
echo 'like this <br />';
echo '<pre><img src="http://www.sucainiu.com/api/img/index.php?p=http://www.sucainiu.com/themes/index/images/logo.png" ></pre>';
}
如果接口地址为:http://www.sucainiu.com/img/api.php
那么实用方法为:
<img src="http://www.sucainiu.com/img/api.php?p=http://www.sucainiu.com/themes/index/images/logo.png">
p参数为你需要盗链的图片地址,经测试是可以使用的。