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 相关文章推荐
PHP mb_convert_encoding 获取字符串编码类型实现代码
Apr 26 PHP
同台服务器使用缓存APC效率高于Memcached的演示代码
Feb 16 PHP
php 获取全局变量的代码
Apr 21 PHP
php实现查询百度google收录情况(示例代码)
Aug 02 PHP
destoon实现调用热门关键字的方法
Jul 15 PHP
支付宝接口开发集成支付环境小结
Mar 17 PHP
PHP实现的json类实例
Jul 28 PHP
composer.lock文件的作用
Feb 03 PHP
PHP扩展框架之Yaf框架的安装与使用
May 18 PHP
PHP自定义错误用法示例
Sep 28 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
Feb 22 PHP
PHP实现chrome表单请求数据转换为接口使用的json数据
Mar 04 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中的 == 运算符进行字符串比较
2006/11/26 PHP
php ss7.5的数据调用 (笔记)
2010/03/08 PHP
php针对cookie操作的队列操作类实例
2014/12/10 PHP
PHP 中 Orientation 属性判断上传图片是否需要旋转
2015/10/16 PHP
利用jQuery插件扩展识别浏览器内核与外壳的类型和版本的实现代码
2011/10/22 Javascript
javascript当中的代码嗅探扩展原生对象和原型(prototype)
2013/01/11 Javascript
$.getJSON在IE下失效的原因分析及解决方法
2013/06/16 Javascript
js算法中的排序、数组去重详细概述
2013/10/14 Javascript
基于javascript实现单选及多选的向右和向左移动实例
2015/07/25 Javascript
微信和qq时间格式模板实例详解
2016/10/21 Javascript
利用node.js本地搭建HTTP服务器
2017/04/19 Javascript
Node.js上传文件功能之服务端如何获取文件上传进度
2018/02/05 Javascript
Vue实现一个无限加载列表功能
2018/11/13 Javascript
通过vue手动封装on、emit、off的代码详解
2019/05/29 Javascript
webpack实践之DLLPlugin 和 DLLReferencePlugin的使用教程
2019/06/10 Javascript
vue canvas绘制矩形并解决由clearRec带来的闪屏问题
2019/09/02 Javascript
jquery实现弹窗(系统提示框)效果
2019/12/10 jQuery
小程序新版订阅消息模板消息
2019/12/31 Javascript
uin-app+mockjs实现本地数据模拟
2020/08/26 Javascript
Python 内置函数complex详解
2016/10/23 Python
Python线性方程组求解运算示例
2018/01/17 Python
Python中is和==的区别详解
2018/11/15 Python
Python寻找路径和查找文件路径的示例
2019/07/10 Python
python识别验证码的思路及解决方案
2020/09/13 Python
使用HTML5的表单验证的简单示例
2015/09/09 HTML / CSS
澳大利亚首个在线预订旅游网站:Wotif
2017/07/19 全球购物
英国在线电子和小工具商店:TecoBuy
2018/10/06 全球购物
Harman Audio官方商店:购买JBL、Harman Kardon、Infinity和AKG
2019/12/05 全球购物
戴尔马来西亚官网:Dell Malaysia
2020/05/02 全球购物
sealed修饰符是干什么的
2012/10/23 面试题
采购主管的岗位职责
2013/12/17 职场文书
哈理工毕业生的求职信
2013/12/22 职场文书
授权委托书范本(单位)
2014/09/28 职场文书
小学师德师风整改措施
2014/10/27 职场文书
生产车间主任岗位职责
2015/04/08 职场文书
高性能跳频抗干扰宽带自组网电台
2022/02/18 无线电