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 相关文章推荐
Window下PHP三种运行方式图文详解
Jun 11 PHP
php fsockopen伪造post与get方法的详解
Jun 14 PHP
PHP上传图片进行等比缩放可增加水印功能
Jan 13 PHP
php的zip解压缩类pclzip使用示例
Mar 14 PHP
完美的2个php检测字符串是否是utf-8编码函数分享
Jul 28 PHP
PHP实现的sqlite数据库连接类
Dec 12 PHP
PHP获取二维数组中某一列的值集合
Dec 25 PHP
Yii2框架数据验证操作实例详解
May 02 PHP
ThinkPHP5框架实现简单的批量查询功能示例
Jun 07 PHP
PHP实现获取毫秒时间戳的方法【使用microtime()函数】
Mar 01 PHP
Thinkphp5框架中引入Markdown编辑器操作示例
Jun 03 PHP
php TP5框架生成二维码链接
Apr 01 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
动漫定律:眯眯眼都是怪物!这些角色狠话不多~
2020/03/03 日漫
LotusPhp笔记之:Cookie组件的使用详解
2013/05/06 PHP
thinkPHP自定义类实现方法详解
2016/11/30 PHP
用js怎么把&字符换成"&amp:"
2006/10/19 Javascript
对采用动态原型方式无法展示继承机制得思考
2009/12/04 Javascript
JavaScript 弹出窗体点击按钮返回选择数据的实现
2010/04/01 Javascript
仿谷歌主页js动画效果实现代码
2013/07/14 Javascript
Javascript改变CSS样式(局部和全局)
2013/12/18 Javascript
使用GruntJS构建Web程序之构建篇
2014/06/04 Javascript
浅析四种常见的Javascript声明循环变量的书写方式
2015/10/14 Javascript
jQuery操作iframe中js函数的方法小结
2016/07/06 Javascript
nodejs进阶(6)—连接MySQL数据库示例
2017/01/07 NodeJs
javascript计算渐变颜色的实例
2017/09/22 Javascript
vue.js模仿京东省市区三级联动的选择组件实例代码
2017/11/22 Javascript
vue+axios新手实践实现登陆的示例代码
2018/06/06 Javascript
Bootstrap-table自定义可编辑每页显示记录数
2018/09/07 Javascript
JS实现旋转木马轮播图
2020/01/01 Javascript
[02:40]DOTA2英雄基础教程 先知
2013/11/29 DOTA
[01:02:07]Liquid vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python实现的飞速中文网小说下载脚本
2015/04/23 Python
Python处理文本换行符实例代码
2018/02/03 Python
python操作文件的参数整理
2019/06/11 Python
python笔记之mean()函数实现求取均值的功能代码
2019/07/05 Python
python实现输出一个序列的所有子序列示例
2019/11/18 Python
需要知道的CSS3动画技术
2010/01/01 HTML / CSS
HTML5输入框下拉菜单功能的示例代码
2020/09/08 HTML / CSS
几个Linux面试题笔试题
2012/12/01 面试题
客户接待方案
2014/02/26 职场文书
工伤赔偿协议书
2014/04/15 职场文书
群众路线自查自纠工作情况报告
2014/10/28 职场文书
社区灵活就业证明
2014/11/03 职场文书
试用期解除劳动合同通知书
2015/04/16 职场文书
培训简讯范文
2015/07/20 职场文书
运动会宣传稿50字
2015/07/23 职场文书
python编写函数注意事项总结
2021/03/29 Python
动画电影《擅长捉弄人的高木同学》6月10日上映!
2022/03/20 日漫