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 相关文章推荐
2.PHP入门
Oct 09 PHP
PHP读取xml方法介绍
Jan 12 PHP
php文件服务实现虚拟挂载其他目录示例
Apr 17 PHP
php cli换行示例
Apr 22 PHP
PHP网站建设的流程与步骤分享
Sep 25 PHP
PHP匿名函数和use子句用法实例
Mar 16 PHP
完美利用Yii2微信后台开发的系列总结
Jul 18 PHP
PHP实现清除MySQL死连接的方法
Jul 23 PHP
php自定义函数实现汉字转换utf8编码的方法
Sep 29 PHP
php 访问oracle 存储过程实例详解
Jan 08 PHP
PHP使用PDO调用mssql存储过程的方法示例
Oct 07 PHP
php+js实现裁剪任意形状图片
Oct 31 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
晶体管单管来复再生式收音机
2021/03/02 无线电
深入理解PHP中的Streams工具
2015/07/03 PHP
php array_udiff_assoc 计算两个数组的差集实例
2016/11/12 PHP
PHP输出多个元素的排列或组合的方法
2017/03/14 PHP
PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
2018/06/22 PHP
在次封装easyui-Dialog插件实现代码
2010/11/14 Javascript
node爬取微博的数据的简单封装库nodeweibo使用指南
2015/01/02 Javascript
Centos7 中 Node.js安装简单方法
2016/11/02 Javascript
jqGrid翻页时数据选中丢失问题的解决办法
2017/02/13 Javascript
详解Angular.js指令中scope类型的几种特殊情况
2017/02/21 Javascript
jQuery中Chosen三级联动功能实例代码
2017/03/07 Javascript
Bootstrap缩略图的创建方法
2017/03/22 Javascript
AngularJS2中一种button切换效果的实现方法(二)
2017/03/27 Javascript
Angular4项目中添加i18n国际化插件ngx-translate的步骤详解
2017/07/02 Javascript
微信小程序实战篇之购物车的实现代码示例
2017/11/30 Javascript
原生JS实现多个小球碰撞反弹效果示例
2018/01/31 Javascript
安装Node.js并启动本地服务的操作教程
2018/05/12 Javascript
js实现图片上传并预览功能
2018/08/06 Javascript
Vue实现美团app的影院推荐选座功能【推荐】
2018/08/29 Javascript
vue指令做滚动加载和监听等
2019/05/26 Javascript
vue-router路由模式详解(小结)
2019/08/26 Javascript
vue v-for 点击当前行,获取当前行数据及event当前事件对象的操作
2020/09/10 Javascript
Python字符串替换实例分析
2015/05/11 Python
Python运算符重载用法实例分析
2015/06/01 Python
python实现简单点对点(p2p)聊天
2017/09/13 Python
Python用 KNN 进行验证码识别的实现方法
2018/02/06 Python
python人民币小写转大写辅助工具
2018/06/20 Python
Python unittest单元测试框架总结
2018/09/08 Python
linux下安装python3和对应的pip环境教程详解
2019/07/01 Python
让Python脚本暂停执行的几种方法(小结)
2019/07/11 Python
django框架模板语言使用方法详解
2019/07/18 Python
利用Python函数实现一个万历表完整示例
2021/01/23 Python
万得城电器土耳其网站:欧洲第一大电子产品零售商
2016/10/07 全球购物
2015年教师节慰问信
2015/03/23 职场文书
病假证明模板
2015/06/19 职场文书
告别网页搜索!教你用python实现一款属于自己的翻译词典软件
2021/06/03 Python