php防盗链的常用方法小结


Posted in PHP onJuly 02, 2010

1.简单防盗链

$ADMIN[defaulturl] = "http://3water.com/404.htm";//盗链返回的地址 
$okaysites = array("http://3water.com/","https://3water.com"); //白名单 
$ADMIN[url_1] = "http://3water.com/temp/download/";//下载地点1 
$ADMIN[url_2] = "";//下载地点2,以此类推 $reffer = $HTTP_REFERER; 
if($reffer) { 
$yes = 0; 
while(list($domain, $subarray) = each($okaysites)) { 
if (ereg($subarray,"$reffer")) { 
$yes = 1; 
} 
} 
$theu = "url"."_"."$site"; 
if ($ADMIN[$theu] AND $yes == 1) { 
header("Location: $ADMIN[$theu]/$file"); 
} else { 
header("Location: $ADMIN[defaulturl]"); 
} 
} else { 
header("Location: $ADMIN[defaulturl]"); 
} 
?>

使用方法:将上述代码保存为dao4.php,
比如我测试用的validatecode.rar在我的站点http://3water.com/temp/download里面,
则用以下代码表示下载连接.

CODE: [Copy to clipboard]
文件名?site=1&file=文件

2.服务器防盗链
用到iis防盗链软件,可以搜下,网上有很多。s.3water.com里面有的下

3.软件下载的防盗链方法

//放置下载软件的根目录相对于当前脚本目录的相对目录 
$fileRelPath = "../../software"; 
//例外允许连接的网址,注意:自身域名不需要填入,设定为肯定可以下载, 
// 空字符串("")表示直接输入网址下载的情况 
$excludeReferArr = array("www.w3water.com", "w3water.com"); chdir($fileRelPath); 
$fileRootPath = getcwd() ."/"; 
$filePath=$HTTP_GET_VARS["file"]; 
$url=parse_url($_SERVER["HTTP_REFERER"]); 
if($url[host]!=$_SERVER["HTTP_HOST"] && !in_array($referHost, $excludeReferArr)){ 
?>
PHP 相关文章推荐
ThinkPHP中实例Model方法的区别说明
Aug 21 PHP
php中return的用法实例分析
Feb 28 PHP
PHP使用ffmpeg给视频增加字幕显示的方法
Mar 12 PHP
PHP实现HTTP断点续传的方法
Jun 17 PHP
php自动加载方式集合
Apr 04 PHP
php parse_str() 函数的定义和用法
May 23 PHP
PHP随机获取未被微信屏蔽的域名(微信域名检测)
Mar 19 PHP
PHP中的日期时间处理利器实例(Carbon)
Jun 09 PHP
php获取文章内容第一张图片的方法示例
Jul 03 PHP
详解Laravel5.6 Passport实现Api接口认证
Jul 27 PHP
PHP实现PDO操作mysql存储过程示例
Feb 13 PHP
PHP iconv()函数字符编码转换的问题讲解
Mar 22 PHP
破解图片防盗链的代码(asp/php)测试通过
Jul 02 #PHP
用PHP为SHOPEX增加日志功能代码
Jul 02 #PHP
php操作excel文件 基于phpexcel
Jul 02 #PHP
PHP 多维数组排序(usort,uasort)
Jun 30 #PHP
PHP 数组遍历方法大全(foreach,list,each)
Jun 30 #PHP
PHP extract 将数组拆分成多个变量的函数
Jun 30 #PHP
PHP 反向排序和随机排序代码
Jun 30 #PHP
You might like
PHP的substr_replace将指定两位置之间的字符替换为*号
2011/05/04 PHP
解析yii数据库的增删查改
2013/06/20 PHP
深入file_get_contents与curl函数的详解
2013/06/25 PHP
thinkPHP模型初始化实例分析
2015/12/03 PHP
php+redis消息队列实现抢购功能
2018/02/08 PHP
JavaScript插入动态样式实现代码
2012/02/22 Javascript
getComputedStyle与currentStyle获取样式(style/class)
2013/03/19 Javascript
js 通用订单代码
2013/12/23 Javascript
基于jQuery实现仿淘宝套餐选择插件
2015/03/04 Javascript
一款简单的jQuery图片标注效果附源码下载
2016/03/22 Javascript
JavaScript中误用/g导致的正则test()无法正确重复执行的解决方案
2016/07/27 Javascript
Javascript日期格式化format函数的使用方法
2016/08/30 Javascript
Bootstrap Scrollspy源码学习
2017/03/02 Javascript
JavaScript数据结构之二叉树的计数算法示例
2017/04/13 Javascript
教你用Cordova打包Vue项目的方法
2017/10/17 Javascript
微信小程序实现页面跳转传递参数(实体,对象)
2019/08/12 Javascript
微信小程序canvas绘制圆角base64图片的实现
2019/08/18 Javascript
js实现课堂随机点名系统
2019/11/21 Javascript
Node.js+Vue脚手架环境搭建的方法步骤
2020/03/08 Javascript
Python文件处理
2016/02/29 Python
对python requests的content和text方法的区别详解
2018/10/11 Python
Python同步遍历多个列表的示例
2019/02/19 Python
Python爬虫实现爬取百度百科词条功能实例
2019/04/05 Python
django框架模型层功能、组成与用法分析
2019/07/30 Python
python:动态路由的Flask程序代码
2019/11/22 Python
python数据库操作mysql:pymysql、sqlalchemy常见用法详解
2020/03/30 Python
浅谈matplotlib默认字体设置探索
2021/02/03 Python
html5视频播放_动力节点Java学院整理
2017/07/13 HTML / CSS
html5使用canvas绘制太阳系效果
2014/12/15 HTML / CSS
Aosom西班牙:家具在线商店
2020/06/11 全球购物
金鑫耀Java笔试题
2014/09/06 面试题
《与象共舞》教学反思
2014/02/24 职场文书
求职信模板
2014/05/23 职场文书
党员承诺书范文2015
2015/04/27 职场文书
2015年房地产个人工作总结
2015/05/26 职场文书
企业培训简报范文
2015/07/20 职场文书