现在多数网站都有防盗链一些简单设置了最常用的就是apache,nginx,iis设置了,那么这种设置是不是不可破的呢,答案是否写了,下面我们一起来看破解方法.

有自己的主机一般都会设计”防盗链”,其实包括图片防盗链,和下载防盗链等,使用.htaccess设置防盗链,代码如下:

1RewriteEngine on
2RewriteCond %{HTTP_REFERER} !^$
3RewriteCond %{HTTP_REFERER} !^http://(www.)?361way.com/.*$ [NC]
4RewriteRule .(gif|jpg)$ https://blog.361way.com /image.gif [R,L]

nginx设置防盗链,代码如下:

1location ~* .(gif|jpg|png|swf|flv)$ {
2 valid_referers none blocked *.361way.com;
3 if ($invalid_referer) {
4  rewrite ^/ http://361way.com /234_s.gif;
5  #return 404;
6 }
7}

但怎么破解防盗链呢? 一般的防盗链是判断来路是否为自己的域名,我们可以使用 php 内置的 file_get_contents 方法来请求这个图片(当然别的后端语言也有类似的方法), 如,getImg.php?url=目标图片连接,代码如下:

1<?php
2header('Content-type: image/jpeg');
3echo file_get_contents(isset($_GET["url"])?$_GET["url"]:'http://xxxx域名/images/v1/loading-16-16.gif');
4?>

使用的时候就可以通过调用该页面传参使用了,这里以51cto上的图片为例,如:

<pre data-language="HTML">```markup
<img alt="www.361way.com/test.php?url=http://s1.51cto.com/wyfs02/M02/6D/F8/wKiom1Vvy9vB1_gmAAC_r6whHag893.jpg" src="https://blog.361way.com/test.php?url=http://s1.51cto.com/wyfs02/M02/6D/F8/wKiom1Vvy9vB1_gmAAC_r6whHag893.jpg">