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


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, 直接加载防盗链图片:(该站未授权的图片显示都是空白)
使用PHP破解防盗链图片的一个简单方法

2, 通过php读取图片:
使用PHP破解防盗链图片的一个简单方法

PHP 相关文章推荐
php中3种方法删除字符串中间的空格
Mar 10 PHP
Laravel 4 初级教程之Pages、表单验证
Oct 30 PHP
php实现的IMEI限制的短信验证码发送类
May 05 PHP
PHP调用存储过程返回值不一致问题的解决方法分析
Apr 26 PHP
PHP递归遍历多维数组实现无限分类的方法
May 06 PHP
PHP中spl_autoload_register()函数用法实例详解
Jul 18 PHP
PHP类相关知识点实例总结
Sep 28 PHP
利用PHP生成CSV文件简单示例
Dec 21 PHP
PHP自定义函数实现数组比较功能示例
Oct 19 PHP
PHP实现微信退款功能
Oct 02 PHP
yii2 开发api接口时优雅的处理全局异常的方法
May 14 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
Feb 27 PHP
PHP防止post重复提交数据的简单例子
Jun 07 #PHP
解决PhpMyAdmin中导入2M以上大文件限制的方法分享
Jun 06 #PHP
php 判断网页是否是utf8编码的方法
Jun 06 #PHP
PHP实现的博客欢迎提示功能(很特别哦)
Jun 05 #PHP
php中数字0和空值的区别分析
Jun 05 #PHP
兼容各大浏览器带关闭按钮的漂浮多组图片广告代码
Jun 05 #PHP
PHP实现使用优酷土豆视频地址获取swf播放器分享地址
Jun 05 #PHP
You might like
30个php操作redis常用方法代码例子
2014/07/05 PHP
ThinkPHP结合AjaxFileUploader实现无刷新文件上传的方法
2014/10/29 PHP
PHP  Yii清理缓存的实现方法
2016/11/10 PHP
PHP内存溢出优化代码详解
2021/02/26 PHP
Extjs ajax同步请求时post方式参数发送方式
2009/08/05 Javascript
jquery trim() 功能源代码
2011/02/14 Javascript
使用jquery修改表单的提交地址基本思路
2014/06/04 Javascript
javascript实现根据时间段显示问候语的方法
2015/06/18 Javascript
浅谈JavaScript中的string拥有方法的原因
2015/08/28 Javascript
JavaScript的字符串方法汇总
2016/07/31 Javascript
jQuery Validate插件ajax方式验证输入值的实例
2017/12/21 jQuery
动态加载权限管理模块中的Vue组件
2018/01/16 Javascript
Vue的路由动态重定向和导航守卫实例
2018/03/17 Javascript
React中使用async validator进行表单验证的实例代码
2018/08/17 Javascript
Jquery和CSS实现选择框重置按钮功能
2018/11/08 jQuery
[03:05]DOTA2英雄基础教程 嗜血狂魔
2013/12/10 DOTA
[50:34]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[55:23]VGJ.T vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
[30:37]【全国守擂赛】第三周擂主赛 Dark Knight vs. Leopard Gaming
2020/05/04 DOTA
Python创建xml的方法
2015/03/10 Python
Python写的Tkinter程序屏幕居中方法
2015/03/10 Python
Python中的类与对象之描述符详解
2015/03/27 Python
Python易忽视知识点小结
2015/05/25 Python
vscode 远程调试python的方法
2017/12/01 Python
Python实现处理逆波兰表达式示例
2018/07/30 Python
Python闭包思想与用法浅析
2018/12/27 Python
Python logging设置和logger解析
2019/08/28 Python
python导入不同目录下的自定义模块过程解析
2019/11/18 Python
opencv-python的RGB与BGR互转方式
2020/06/02 Python
pandas创建DataFrame的7种方法小结
2020/06/14 Python
python数据类型强制转换实例详解
2020/06/22 Python
详解Open Folder as PyCharm Project怎么添加的方法
2020/12/29 Python
如何执行一个shell程序
2012/11/23 面试题
统计学专业毕业生的自我评价分享
2013/11/28 职场文书
室内趣味活动方案
2014/08/24 职场文书
教师辞职信范文
2015/02/28 职场文书