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 相关文章推荐
使用迭代器 遍历文件信息的详解
Jun 08 PHP
PHP写的加密函数,支持私人密钥(详细介绍)
Jun 09 PHP
php 模拟post_验证页面的返回状态(实例讲解)
Oct 28 PHP
程序员的表白神器“520”大声喊出来
May 20 PHP
php用户密码加密算法分析【Discuz加密算法】
Oct 12 PHP
PHP实现的曲线统计图表示例
Nov 10 PHP
php+mysql实现简单登录注册修改密码网页
Nov 30 PHP
PHP+Ajax无刷新带进度条图片上传示例
Feb 08 PHP
thinkphp分页集成实例
Jul 24 PHP
PHP的cookie与session原理及用法详解
Sep 27 PHP
PHP全局使用Laravel辅助函数dd
Dec 26 PHP
PHP单元测试配置与使用方法详解
Dec 27 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获取音频文件的相关信息
2015/06/22 PHP
php实现的顺序线性表示例
2019/05/04 PHP
很可爱的输入框
2008/08/03 Javascript
选择器中含有空格在使用示例及注意事项
2013/07/31 Javascript
js导出table数据到excel即导出为EXCEL文档的方法
2013/10/10 Javascript
基于jQuery实现的文字按钮表单特效整理
2014/12/07 Javascript
JQuery控制Radio选中方法分析
2015/05/29 Javascript
学习Bootstrap组件之下拉菜单
2015/07/28 Javascript
JS+CSS实现另类带提示效果的竖向导航菜单
2015/10/15 Javascript
javascript iframe跨域详解
2016/10/26 Javascript
Node.JS在命令行中检查Chrome浏览器是否安装并打开指定网址
2019/05/21 Javascript
JS数组的高级使用方法示例小结
2020/03/14 Javascript
原生js实现拖拽移动与缩放效果
2020/08/24 Javascript
[05:00]TI9战队采访 - Royal Never Give Up
2019/08/20 DOTA
python通过自定义isnumber函数判断字符串是否为数字的方法
2015/04/23 Python
Python模拟登录验证码(代码简单)
2016/02/06 Python
Python连接PostgreSQL数据库的方法
2016/11/28 Python
基于python的字节编译详解
2017/09/20 Python
使用Python快乐学数学Github万星神器Manim简介
2019/08/07 Python
pytorch dataloader 取batch_size时候出现bug的解决方式
2020/02/20 Python
python安装mysql的依赖包mysql-python操作
2021/01/01 Python
详解Django中的FBV和CBV对比分析
2021/03/01 Python
Mytheresa英国官网:拥有160多个奢侈品品牌
2016/10/09 全球购物
印度婴儿用品在线商店:Firstcry.com
2016/12/05 全球购物
欧洲第一的摇滚和金属乐队服装网站:EMP
2017/10/26 全球购物
SmartBuyGlasses英国:购买太阳镜和眼镜
2018/01/29 全球购物
自我评价的正确写法
2013/09/19 职场文书
2014年五一活动策划方案
2014/03/15 职场文书
一年级评语大全
2014/04/23 职场文书
学校读书活动总结
2014/06/30 职场文书
关于成绩下滑的自我检讨书
2014/09/20 职场文书
求职自荐信怎么写
2015/03/04 职场文书
2015年社区居委会工作总结
2015/05/18 职场文书
2015新教师教学工作总结
2015/07/22 职场文书
cypress测试本地web应用
2022/06/01 Javascript
java实现自定义时钟并实现走时功能
2022/06/21 Java/Android