很多时候网站想引用别人网站里的图片但别人设置了防盗链,我们想引用但又用不了,那怎么办呢?
其实很简单,破解防盗链最好的办法就是直接读取。做为一个phper(哈哈当然不是),当然是用php来突破了
用到php中一个常用的函数file_get_contents(图片地址),意思是读取远程的一张图片,在输出就完事。非常简单~话不多说,直接上代码
<?php
header("Content-type: image/jpeg");//防止输出乱码
$img=$_GET['img'];//通过get方法获取图片地址
echo file_get_contents($img);//角色上场
?>
使用方法:新建一个img.php文件,把代码贴进去。你的链接/img.php?img=图片链接
下面是我搭建好的,搭建可以直接使用:http://blog.eirds.cn/img.php?img=
再说说更变态的方法,接一下我演示一个判断请求来源的防盗链!!
这里就要用到PHP 中强大的curl,他可以伪造头部来源IP,来源地址,甚至可以使用proxy,PHP爬虫必备。
我们来简单分析一下吧。
这是一个连接,点击A标签可以看到一张图片, ,但是我们直接打开这张图片是不行的,因为他判断了请求的链接。如果不是在那个链接打开的,就会返回404, ,再继续分析,我们看一下请求refer,! 9{8F[ATCT@(EASG_HA@IY`8.png 可以看到必须是refer这个地址才行。那么我们就只有欺骗他的服务器了。废话不多说,直接贴代码,这是我封装好的CURL
<?php
function Crack_img($url,$refer){
$ch = curl_init($url); //设置图片url
curl_setopt ($ch, CURLOPT_REFERER, $refer); //伪造请求来源
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);//
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
$data = curl_exec($ch);
curl_close($ch);
//$ext = strtolower(substr(strrchr($img,'.'),1,10));
//输出图片格式
/*$types = array(
'gif'=>'image/gif',
'jpeg'=>'image/jpeg',
'jpg'=>'image/jpeg',
'jpe'=>'image/jpeg',
'png'=>'image/png',
);*/
//$type = $types[$ext] ? $types[$ext] : 'image/jpeg';
header("Content-type:image/jpeg"); //输出二进制流图片
return $data;}
$url = $_GET["url"];
$refer = $_GET['refer'];
echo Crack_img($url,$refer);
使用方法:新建PHP文件,粘贴进去,命名.php?url=图片地址&refer=来源地址
这是我搭建好的,大家可以直接使用:blog.eirds.cn/image.php?url=图片地址&refer=来源地址
转载请注明来源,此文章为本博原创
版权属于:龙辉博客
本文链接:https://blog.eirds.cn/91.html
如果没有特别声明则为本博原创。转载时须注明出处及本声明!
11 comments
为了防止接口滥用于违反相关法律规定的地方,本接口已关闭,技术仅供学习交流,请于下载后24小时后删除,由此产生的法律问题自行承担。
我发的是图片地址,外部调用就会跳转到app下载图片,你们可以去131网站找个图片试试,刷新几次也是跳转APP下载图片
事情仿佛变得有趣起来,
嗯,之前我也尝试过伪造来路,但!不可取
这么说,自己百度网盘分享的图片就可以调用到博客上来了?
我刚刚试了,链接: https://pan.baidu.com/s/1qoqHaiQdzlgEDstf595TmQ 提取码: 7y4b 这是我从百度网盘分享出来的一张图片,右键复制图片地址,然后就可以直接引用了,https://thumbnail0.baidupcs.com/thumbnail/a17956ffb6590629a48eef7fb853039d?fid=3400349494-250528-5938608453461&time=1543460400&rt=sh&sign=FDTAER-DCb740ccc5511e5e8fedcff06b081203-rEZicYAmI4iq6QETROHdlaia1bo%3D&expires=8h&chkv=0&chkbd=0&chkpc=&dp-logid=7711360065017992237&dp-callid=0&size=c710_u400&quality=100&vuk=-&ft=video 如果您的网站引用不了也可以使用我写好的接口~
这是我梦寐以求的方法。等有空慢慢学习用起来。
就是图片被压缩了,但还是不错的,可以用来做外链或者图床
没什么卵用
自己看
http://blog.eirds.cn/img.php?img=http://img1.mm131.me/pic/4367/m.jpg
广告啊 这是
?