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

yipeiwu_com5年前PHP代码库

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

复制代码 代码如下:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?jb51.net/.*$ [NC]
RewriteRule \.(gif|jpg)$ //www.jb51.net/image.gif [R,L]

2.nginx设置防盗链
复制代码 代码如下:
location ~* \.(gif|jpg|png|swf|flv)$ {
 valid_referers none blocked jb51.net;
 if ($invalid_referer) {
  rewrite ^/ http://jb51.net/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.jb51.net/images/v1/loading-16-16.gif');
?>

看例子:

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

2, 通过php读取图片:

相关文章

php中strtotime函数用法详解

本文实例讲述了php中strtotime函数用法。分享给大家供大家参考。具体如下: strtotime(字符串$时间[,诠释$现在])int strtotime(string $time...

PHP中copy on write写时复制机制介绍

什么是写时复制(Copy On Write)? 答:在复制一个对象的时候并不是真正的把原先的对象复制到内存的另外一个位置上,而是在新对象的内存映射表中设置一个指针,指向源对象的位置,并把...

php计算十二星座的函数代码

核心代码: 复制代码 代码如下: <?php /* * 计算星座的函数 string get_zodiac_sign(string month, string day) * 输入:...

PHP遍历数组的三种方法及效率对比分析

本文实例分析了PHP遍历数组的三种方法及效率对比。分享给大家供大家参考。具体分析如下: 今天有个朋友问我一个问题php遍历数组的方法,告诉她了几个。顺便写个文章总结下,如果总结不全还请朋...

PHP读取XML文件的方法实例总结【DOMDocument及simplexml方法】

本文实例讲述了PHP读取XML文件的方法。分享给大家供大家参考,具体如下: 使用DOMDocument对象读取xml 创建一个DOMDocument对象 $doc = new DOM...