PHP防盗链代码实例


Posted in PHP onAugust 27, 2014

防盗链是目前非常常见的web程序设计技巧。本文就以一个实例展示了PHP防盗链的实现方法。分享给大家供大家参考之用。具体方法如下:

主要功能代码如下:

<?php
/*
使用方法:将上述代码保存为dao4.php,
比如测试用的validatecode.rar在站点http://www.XXXX.com里面,
则用以下代码表示下载连接.
文件名?site=1&file=文件 
例如以下URL:
http://www.XXXX.cn/dao4.php?site=1&file=validatecode.rar 
*/
$ADMIN[defaulturl] = "http://www.XXXX.com/404.htm"; //盗链返回的地址
$okaysites = array(
  "http://www.XXXX.com/",
  "http://XXXX.com"
); //白名单
$ADMIN[url_1] = "http://www.XXXX.com/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]");
}
?>

希望本文所述对大家学习PHP程序设计有所帮助。

PHP 相关文章推荐
php xfocus防注入资料
Apr 27 PHP
一周让你学会PHP 不错的学习资料
Feb 06 PHP
php ajax 静态分页过程形式
Sep 02 PHP
php笔记之:php数组相关函数的使用
Apr 26 PHP
如何用php获取文件名后缀
Jun 09 PHP
Linux Apache PHP Oracle 安装配置(具体操作步骤)
Jun 17 PHP
PHP验证码函数代码(简单实用)
Sep 29 PHP
ThinkPHP入口文件设置及相关注意事项分析
Dec 05 PHP
WordPress中&quot;无法将上传的文件移动至&quot;错误的解决方法
Jul 01 PHP
PHP绕过open_basedir限制操作文件的方法
Jun 10 PHP
thinkPHP框架实现的短信接口验证码功能示例
Jun 20 PHP
php多进程模拟并发事务产生的问题小结
Dec 07 PHP
如何让搜索引擎抓取AJAX内容解决方案
Aug 25 #PHP
使用php方法curl抓取AJAX异步内容思路分析及代码分享
Aug 25 #PHP
简单分析ucenter 会员同步登录通信原理
Aug 25 #PHP
ThinkPHP调用common/common.php函数提示错误function undefined的解决方法
Aug 25 #PHP
ThinkPHP查询返回简单字段数组的方法
Aug 25 #PHP
php防止伪造数据从地址栏URL提交的方法
Aug 24 #PHP
php批量删除数据库下指定前缀的表以prefix_为例
Aug 24 #PHP
You might like
PHP下10件你也许并不了解的事情
2008/09/11 PHP
PHP 日常开发小技巧
2009/09/23 PHP
PHP用mysql数据库存储session的代码
2010/03/05 PHP
php数据库备份还原类分享
2014/03/20 PHP
php实现图片等比例缩放代码
2015/07/23 PHP
php array_slice 取出数组中的一段序列实例
2016/11/04 PHP
PHP实现腾讯与百度坐标转换
2017/08/05 PHP
PHP+redis实现微博的拉模型案例详解
2019/07/10 PHP
Gambit vs CL BO3 第一场 2.13
2021/03/10 DOTA
Alliance vs AM BO3 第一场2.13
2021/03/10 DOTA
麦鸡的TAB切换功能结合了javascript和css
2007/12/17 Javascript
基于jquery的时间段实现代码
2012/08/02 Javascript
JavaScript高级程序设计 阅读笔记(二十一) JavaScript中的XML
2012/09/14 Javascript
jQuery中closest()函数用法实例
2015/01/07 Javascript
微信小程序 开发之快递查询功能的实现
2017/01/09 Javascript
利用Chrome DevTools直接调试Node.js和JavaScript的方法详解(并行)
2017/02/16 Javascript
在javascript中,null>=0 为真,null==0却为假,null的值详解
2017/02/22 Javascript
详解vue-cli@2.x项目迁移日志
2019/06/06 Javascript
vue回到顶部监听滚动事件详解
2019/08/02 Javascript
如何使用 JavaScript 操作浏览器历史记录 API
2020/11/24 Javascript
python实现爬虫下载漫画示例
2014/02/16 Python
python使用标准库根据进程名如何获取进程的pid详解
2017/10/31 Python
Django 实现下载文件功能的示例
2018/03/06 Python
python小白学习包管理器pip安装
2020/06/09 Python
Keras 数据增强ImageDataGenerator多输入多输出实例
2020/07/03 Python
trivago美国:全球最大的酒店价格比较网站
2018/01/18 全球购物
Tretorn美国官网:瑞典外套和鞋类品牌,抵御风雨
2018/07/19 全球购物
软件测试有哪些?什么是配置项?
2012/02/12 面试题
大学生自我鉴定评语
2014/01/27 职场文书
优秀纪检干部材料
2014/08/27 职场文书
2014年文秘工作总结
2014/11/25 职场文书
2015年中学校长工作总结
2015/05/19 职场文书
交通事故责任认定书
2015/08/06 职场文书
《倍数和因数》教学反思
2016/02/23 职场文书
深入浅析React中diff算法
2021/05/19 Javascript
Python虚拟环境virtualenv是如何使用的
2021/06/20 Python