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 相关文章推荐
模拟OICQ的实现思路和核心程序(二)
Oct 09 PHP
PHP 图像尺寸调整代码
May 26 PHP
PHP执行zip与rar解压缩方法实现代码
Dec 05 PHP
PHP strncasecmp字符串比较的小技巧
Jan 04 PHP
微信公众平台消息接口校验与消息接口响应实例
Dec 23 PHP
php防止用户重复提交表单
Nov 02 PHP
基于PHP技术开发客服工单系统
Jan 06 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
Nov 17 PHP
PHP bin2hex()函数基础实例讲解
Feb 11 PHP
PHP实现网站应用微信登录功能详解
Apr 11 PHP
php多进程应用场景实例详解
Jul 22 PHP
实例化php类时传参的方法分析
Jun 05 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
如何在WIN2K下安装PHP4.04
2006/10/09 PHP
IIS下PHP的三种配置方式对比
2014/11/20 PHP
php表单提交实例讲解
2015/11/12 PHP
php实现的xml操作类
2016/01/15 PHP
注意!PHP 7中不要做的10件事
2016/09/18 PHP
使用laravel和ajax实现整个页面无刷新的操作方法
2019/10/03 PHP
理解Javascript_10_对象模型
2010/10/16 Javascript
js实现addClass,removeClass,hasClass的函数代码
2011/07/13 Javascript
JavaScript生成带有缩进的表格代码
2016/06/15 Javascript
让编辑器支持word复制黏贴、截屏的js代码
2016/10/17 Javascript
vue子父组件通信的实现代码
2017/07/09 Javascript
Angular.js前台传list数组由后台spring MVC接收数组示例代码
2017/07/31 Javascript
jq.ajax+php+mysql实现关键字模糊查询(示例讲解)
2018/01/02 Javascript
layui 给数据表格加序号的方法
2018/08/20 Javascript
atom-design(Vue.js移动端组件库)手势组件使用教程
2019/05/16 Javascript
jQuery子选择器与可见性选择器实例分析
2019/06/28 jQuery
javascript中的数据类型检测方法详解
2019/08/07 Javascript
JS实现鼠标按下拖拽效果
2020/07/23 Javascript
全网小程序接口请求封装实例代码
2020/11/06 Javascript
详解Python函数作用域的LEGB顺序
2016/05/14 Python
python实现SOM算法
2018/02/23 Python
python3中的eval和exec的区别与联系
2019/10/10 Python
Python线程协作threading.Condition实现过程解析
2020/03/12 Python
Python 将 QQ 好友头像生成祝福语的实现代码
2020/05/03 Python
Python collections.deque双边队列原理详解
2020/10/05 Python
施华洛世奇新加坡官网:SWAROVSKI新加坡
2020/10/06 全球购物
大学本科毕业生的自我鉴定范文
2013/11/19 职场文书
会计专业的自荐信
2013/12/12 职场文书
医药销售求职信范文
2014/02/01 职场文书
八项规定整改方案
2014/02/21 职场文书
《夹竹桃》教学反思
2014/04/20 职场文书
如何签定毕业生就业协议书
2014/09/28 职场文书
党的群众路线教育实践活动个人整改措施材料
2014/11/04 职场文书
幼儿园中班教育随笔
2015/08/14 职场文书
2019请假条的基本格式及范文!
2019/07/05 职场文书
MySQL infobright的安装步骤
2021/04/07 MySQL