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基础知识:类与对象(5) static
Dec 13 PHP
PHP对字符串的递增运算分析
Aug 08 PHP
php空间不支持socket但支持curl时recaptcha的用法
Nov 07 PHP
php的POSIX 函数以及进程测试的深入分析
Jun 03 PHP
PHP实现图片裁剪、添加水印效果代码
Oct 01 PHP
php中file_get_contents与curl性能比较分析
Nov 08 PHP
使用PHP编写发红包程序
Jul 22 PHP
详解PHP序列化反序列化的方法
Oct 27 PHP
php curl批处理实现可控并发异步操作示例
May 09 PHP
YII2框架中actions的作用与使用方法示例
Mar 13 PHP
Thinkphp 框架扩展之Widget扩展实现方法分析
Apr 23 PHP
PHP生成图表pChart的示例解析
Jul 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
使用php 获取时间今天明天昨天时间戳的详解
2013/06/20 PHP
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
2014/08/20 PHP
YII视图整合kindeditor扩展的方法
2016/07/13 PHP
Aster vs Newbee BO5 第二场2.19
2021/03/10 DOTA
关于Jqzoom的使用心得 jquery放大镜效果插件
2010/04/12 Javascript
window.open关于浏览器拦截问题分析及解决方法
2013/02/05 Javascript
JavaScript按位运算符的应用简析
2014/02/04 Javascript
jQuery 获取兄弟元素的几种不错方法
2014/05/23 Javascript
javascript制作坦克大战全纪录(2)
2014/11/27 Javascript
基于jquery实现轮播特效
2016/04/22 Javascript
JavaScript中的对象继承关系
2016/08/01 Javascript
JavaScript中boolean类型之三种情景实例代码
2016/11/21 Javascript
微信小程序开发之视频播放器 Video 弹幕 弹幕颜色自定义实例
2016/12/08 Javascript
Angular中$broadcast和$emit的使用方法详解
2017/05/22 Javascript
vue.js中toast用法及使用toast弹框的实例代码
2018/08/27 Javascript
JavaScript使用indexOf()实现数组去重的方法分析
2018/09/04 Javascript
原生js实现淘宝放大镜效果
2020/10/28 Javascript
使用vue-cli3 创建vue项目并配置VS Code 自动代码格式化 vue语法高亮问题
2019/05/14 Javascript
Vue2.0 $set()的正确使用详解
2020/07/28 Javascript
Vue优化:常见会导致内存泄漏问题及优化详解
2020/08/04 Javascript
Vue获取微博授权URL代码实例
2020/11/04 Javascript
详解python 字符串和日期之间转换 StringAndDate
2017/05/04 Python
python 中的divmod数字处理函数浅析
2017/10/17 Python
深入解析python中的实例方法、类方法和静态方法
2019/03/11 Python
pytorch在fintune时将sequential中的层输出方法,以vgg为例
2019/08/20 Python
python实现查找所有程序的安装信息
2020/02/18 Python
python3 使用openpyxl将mysql数据写入xlsx的操作
2020/05/15 Python
Opencv求取连通区域重心实例
2020/06/04 Python
详解python安装matplotlib库三种失败情况
2020/07/28 Python
css3实现3D色子翻转特效
2014/12/23 HTML / CSS
Missguided美国官网:英国时尚品牌
2018/01/18 全球购物
艺术应用与设计专业个人的自我评价
2013/11/19 职场文书
增员口号大全
2014/06/18 职场文书
2014感恩节演讲稿大全
2014/10/11 职场文书
2015年先进个人自荐书
2015/03/24 职场文书
提取视频中的音频 Python只需要三行代码!
2021/05/10 Python