Posted in PHP onJune 07, 2014
有自己的主机一般都会设计"防盗链", 其实包括图片防盗链,和下载防盗链等,如:
1.使用.htaccess设置防盗链
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www\.)?3water.com/.*$ [NC] RewriteRule \.(gif|jpg)$ https://3water.com/image.gif [R,L]
2.nginx设置防盗链
location ~* \.(gif|jpg|png|swf|flv)$ { valid_referers none blocked 3water.com; if ($invalid_referer) { rewrite ^/ http://3water.com/234_s.gif; #return 404; } }
但怎么破解防盗链呢? 一般的防盗链是判断来路是否为自己的域名, 我们可以使用 php 内置的 file_get_contents 方法来请求这个图片(当然别的后端语言也有类似的方法), 如:
//getImg.php?url=目标图片连接 <?php header('Content-type: image/jpeg'); echo file_get_contents(isset($_GET["url"])?$_GET["url"]:'http://static.3water.com/images/v1/loading-16-16.gif'); ?>
看例子:
1, 直接加载防盗链图片:(该站未授权的图片显示都是空白)
2, 通过php读取图片:
使用PHP破解防盗链图片的一个简单方法
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@