使用PHP破解防盗链图片的一个简单方法

前端之家收集整理的这篇文章主要介绍了使用PHP破解防盗链图片的一个简单方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

@H_404_0@有自己的主机一般都会设计"防盗链",其实包括图片防盗链,和下载防盗链等,如:
1.使用.htaccess设置防盗链
<div class="codetitle"><a style="CURSOR: pointer" data="123" class="copybut" id="copybut123" onclick="doCopy('code123')"> 代码如下:

<div class="codebody" id="code123">RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?jb51.cc/.$ [NC]
RewriteRule .(gif|jpg)$ //www.jb51.cc/image.gif [R,L]

2.Nginx设置防盗链
<div class="codetitle"><a style="CURSOR: pointer" data="91837" class="copybut" id="copybut91837" onclick="doCopy('code91837')"> 代码如下:
<div class="codebody" id="code91837">location ~ .(gif|jpg|png|swf|flv)$ {
valid_referers none blocked jb51.cc;
if ($invalid_referer) {
rewrite ^/ http://jb51.cc/234_s.gif;
#return 404;
}
}

但怎么破解防盗链呢? 一般的防盗链是判断来路是否为自己的域名,我们可以使用 PHP 内置的 file_get_contents 方法来请求这个图片(当然别的后端语言也有类似的方法),如:
<div class="codetitle"><a style="CURSOR: pointer" data="69810" class="copybut" id="copybut69810" onclick="doCopy('code69810')"> 代码如下:
<div class="codebody" id="code69810">//getImg.PHP?url=目标图片连接
<?PHP
header('Content-type: image/jpeg');
echo file_get_contents(isset($_GET["url"])?$GET["url"]:'http://static.jb51.cc/images/v1/loading-16-16.gif');
?>

看例子:


@H
404_0@1,直接加载防盗链图片:(该站未授权的图片显示都是空白)

<IMG src="https://files.jb51.cc/file_images/article/201406/201467113115193.png?201457113130"&gt;


@H_404_0@2,通过PHP读取图片:

<IMG src="https://files.jb51.cc/file_images/article/201406/201467113213674.jpg?201457113229"&gt;

PHP破解防盗链图片

猜你在找的PHP相关文章