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 常用类整理
Dec 23 PHP
php access 数据连接与读取保存编辑数据的实现代码
May 12 PHP
php 抽象类的简单应用
Sep 06 PHP
修改php.ini不生效问题解决方法(上传大于8M的文件)
Jun 14 PHP
修改php.ini以达到屏蔽错误信息并记录日志
Jun 16 PHP
使用Discuz关键词服务器实现PHP中文分词
Mar 11 PHP
windows7下安装php的imagick和imagemagick扩展教程
Jul 04 PHP
PHP动态编译出现Cannot find autoconf的解决方法
Nov 05 PHP
ThinkPHP函数详解之M方法和R方法
Sep 10 PHP
laravel 中如何使用ajax和vue总结
Aug 16 PHP
php 输出缓冲 Output Control用法实例详解
Mar 03 PHP
php中pcntl_fork详解
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
PHP echo,print,printf,sprintf函数之间的区别与用法详解
2013/11/27 PHP
PHP实现GIF图片验证码
2015/11/04 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
2017/09/15 PHP
Yii框架的路由配置方法分析
2019/09/09 PHP
JS 面向对象的5钟写法
2009/07/31 Javascript
dojo学习第一天 Tab选项卡 实现
2011/08/28 Javascript
jQuery源码中的chunker 正则过滤符分析
2012/07/31 Javascript
js全屏显示显示代码的三种方法
2013/11/11 Javascript
javascript匿名函数实例分析
2014/11/18 Javascript
Jquery-1.9.1源码分析系列(十一)之DOM操作
2015/11/25 Javascript
JavaScript使用DeviceOne开发实战(三)仿微信应用
2015/12/02 Javascript
js时间戳转为日期格式的方法
2015/12/28 Javascript
在JavaScript中使用JSON数据
2016/02/15 Javascript
jquery把int类型转换成字符串类型的方法
2016/10/07 Javascript
jQuery时间验证和转换为标准格式的时间格式
2017/03/06 Javascript
Angular 4依赖注入学习教程之简介(一)
2017/06/04 Javascript
jQuery实现的淡入淡出与滑入滑出效果示例
2018/04/18 jQuery
jquery.param()实现数组或对象的序列化方法
2018/10/08 jQuery
egg.js的基本使用和调用数据库的方法示例
2019/05/18 Javascript
详解vuex之store源码简单解析
2019/06/13 Javascript
原生JS实现留言板功能
2020/02/08 Javascript
JS禁用右键、禁用Ctrl+u、禁用Ctrl+s、禁用F12的实现代码
2020/12/01 Javascript
小程序角标的添加及绑定购物车数量进行实时更新的实现代码
2020/12/07 Javascript
详解python调度框架APScheduler使用
2017/03/28 Python
Python+Appium实现自动化测试的使用步骤
2020/03/24 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
2020/04/16 Python
使用pytorch 筛选出一定范围的值
2020/06/28 Python
联想香港官方网站及网店:Lenovo香港
2018/04/13 全球购物
澳大利亚女士时装在线:Rockmans
2018/09/26 全球购物
英国豪华装饰照明品牌的在线零售商:Inspyer Lighting
2019/12/10 全球购物
大学四年规划书范文
2013/12/27 职场文书
国庆节文艺活动方案
2014/02/03 职场文书
后勤部经理岗位职责
2014/02/23 职场文书
安全主题班会教案
2015/08/12 职场文书
升学宴学生致辞
2015/09/29 职场文书
CSS3 实现NES游戏机的示例代码
2021/04/21 HTML / CSS