使用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 相关文章推荐
BBS(php &amp; mysql)完整版(四)
Oct 09 PHP
php 数组的一个悲剧?
May 11 PHP
几种有用的变型 PHP中循环语句的用法介绍
Jan 30 PHP
Smarty模板学习笔记之Smarty简介
May 20 PHP
destoon找回管理员密码的方法
Jun 21 PHP
ThinkPHP自动填充实现无限级分类的方法
Aug 22 PHP
WampServer搭建php环境时遇到的问题汇总
Jul 23 PHP
php实现无限级分类查询(递归、非递归)
Mar 10 PHP
PHP打印输出函数汇总
Aug 28 PHP
CI框架(CodeIgniter)公共模型类定义与用法示例
Aug 10 PHP
Yii框架的redis命令使用方法简单示例
Oct 15 PHP
实例讲解PHP表单
Jun 10 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
PHP isset()与empty()的使用区别详解
2010/08/29 PHP
PHP清除数组中所有字符串两端空格的方法
2014/10/20 PHP
一些不错的js函数ajax
2008/08/20 Javascript
响应鼠标变换表格背景或者颜色的代码
2009/03/30 Javascript
基于jQuery的模仿新浪微博时间的组件
2011/10/04 Javascript
JavaScript中“过于”犀利地for/in循环使用示例
2013/10/22 Javascript
浅析JavaScript中的常用算法与函数
2013/11/21 Javascript
JavaScript检查某个function是否是原生代码的方法
2014/08/20 Javascript
使用nodejs开发cli项目实例
2015/06/03 NodeJs
一个php+js实时显示时间问题
2015/10/12 Javascript
AngularJS中的指令全面解析(必看)
2016/05/20 Javascript
微信小程序 wxapp内容组件 icon详细介绍
2016/10/31 Javascript
AngularJS入门教程之数据绑定原理详解
2016/11/02 Javascript
JS常见创建类的方法小结【工厂方式,构造器方式,原型方式,联合方式等】
2017/04/01 Javascript
JavaScript基于activexobject连接远程数据库SQL Server 2014的方法
2017/07/12 Javascript
基于Vue实现后台系统权限控制的示例代码
2017/08/29 Javascript
Node批量爬取头条视频并保存方法
2018/09/20 Javascript
vue-cli3配置与跨域处理方法
2019/08/17 Javascript
layui 图片上传+表单提交+ Spring MVC的实例
2019/09/21 Javascript
layer ui 导入文件之前传入数据的实例
2019/09/23 Javascript
vue 遮罩层阻止默认滚动事件操作
2020/07/28 Javascript
微信小程序完美解决scroll-view高度自适应问题的方法
2020/08/08 Javascript
[37:47]IG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python实现从订阅源下载图片的方法
2015/03/11 Python
python实现网站微信登录的示例代码
2019/09/18 Python
pip install python 快速安装模块的教程图解
2019/10/08 Python
下载与当前Chrome对应的chromedriver.exe(用于python+selenium)
2020/01/14 Python
python中的socket实现ftp客户端和服务器收发文件及md5加密文件
2020/04/01 Python
python实现斗地主分牌洗牌
2020/06/22 Python
用Python实现定时备份Mongodb数据并上传到FTP服务器
2021/01/27 Python
Html5调用手机摄像头并实现人脸识别的实现
2018/12/21 HTML / CSS
巴西在线鞋店:Shoestock
2017/10/28 全球购物
英国豪华文具和皮具配件经典老品牌:Smythson(斯迈森)
2018/04/19 全球购物
如何签定毕业生就业协议书
2014/09/28 职场文书
初中生旷课检讨书范文
2014/10/06 职场文书
大学考试作弊检讨书
2015/05/06 职场文书