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 字符过滤类,用于过滤各类用户输入的数据
May 27 PHP
php中时间轴开发(刚刚、5分钟前、昨天10:23等)
Oct 03 PHP
深入PHP中的HashTable结构详解
Jun 13 PHP
PHP速成大法
Jan 30 PHP
php单例模式实现方法分析
Mar 14 PHP
php获取发送给用户的header信息的方法
Mar 16 PHP
php转换颜色为其反色的方法
Apr 27 PHP
Laravel中使用FormRequest进行表单验证方法及问题汇总
Jun 19 PHP
php基于openssl的rsa加密解密示例
Jul 11 PHP
php外部执行命令函数用法小结
Oct 11 PHP
PHP实现的同步推荐操作API接口案例分析
Nov 30 PHP
详解php用static方法的原因
Sep 12 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
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
JS拖动技术 关于setCapture使用
2010/12/09 Javascript
jquery加载页面的方法(页面加载完成就执行)
2011/06/21 Javascript
js一般方法改写成面向对象方法的无限级折叠菜单示例代码
2013/07/04 Javascript
jQuery 生成svg矢量二维码
2016/08/09 Javascript
JS实现图片点击后出现模态框效果
2017/05/03 Javascript
JQuery 获取多个select标签option的text内容(实例)
2017/09/07 jQuery
javascript中神奇的 Date对象小结
2017/10/12 Javascript
vue axios 二次封装的示例代码
2017/12/08 Javascript
CSS3结合jQuery实现动画效果及回调函数的实例
2017/12/27 jQuery
Vue的事件响应式进度条组件实例详解
2018/02/04 Javascript
Vue微信项目按需授权登录策略实践思路详解
2018/05/07 Javascript
Vue2.0 实现歌手列表滚动及右侧快速入口功能
2018/08/08 Javascript
微信小程序实现预览图片功能
2020/10/22 Javascript
mapboxgl区划标签避让不遮盖实现的代码详解
2020/07/01 Javascript
Python字符串和字典相关操作的实例详解
2017/09/23 Python
Python数字图像处理之霍夫线变换实现详解
2018/01/12 Python
Python 实现Windows开机运行某软件的方法
2018/10/14 Python
python3.x提取中文的正则表达式示例代码
2019/07/23 Python
Django 实现admin后台显示图片缩略图的例子
2019/07/28 Python
python3.6生成器yield用法实例分析
2019/08/23 Python
基于Python共轭梯度法与最速下降法之间的对比
2020/04/02 Python
一款利用html5和css3实现的3D立方体旋转效果教程
2016/04/26 HTML / CSS
html5开发之viewport使用
2013/10/17 HTML / CSS
英国著名的茶叶品牌:Whittard of Chelsea
2016/09/22 全球购物
ASOS比利时:英国线上零售商及自有品牌
2018/07/29 全球购物
Club Monaco加拿大官网:设计师男女服装
2019/09/29 全球购物
机械工程系毕业生求职信
2013/09/27 职场文书
涉外文秘个人求职的自我评价
2013/10/07 职场文书
渔夫的故事教学反思
2014/02/14 职场文书
《东方明珠》教学反思
2014/04/20 职场文书
保密工作目标责任书
2014/07/28 职场文书
2014年涉外离婚协议书范本
2014/11/20 职场文书
中学教师读书笔记
2015/07/01 职场文书
爱岗敬业事迹材料
2019/06/20 职场文书
vue+spring boot实现校验码功能
2021/05/27 Vue.js