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读取RSS feed的代码
Aug 01 PHP
PHP 编写大型网站问题集
May 07 PHP
深入for,while,foreach遍历时间比较的详解
Jun 08 PHP
解析关于wamp启动是80端口被占用的问题
Jun 21 PHP
PHP关于IE下的iframe跨域导致session丢失问题解决方法
Oct 10 PHP
php中session使用示例
Mar 29 PHP
UTF-8正则表达式如何匹配汉字
Aug 03 PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
Mar 29 PHP
PHP laravel中的多对多关系实例详解
Jun 07 PHP
laravel 去掉index.php伪静态的操作方法
Oct 12 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
Dec 18 PHP
php修改word的实例方法
Nov 17 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预定义常量
2006/12/25 PHP
深入解析php模板技术原理【一】
2008/01/10 PHP
ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法
2014/07/01 PHP
php异步多线程swoole用法实例
2014/11/14 PHP
PHP编程 SSO详细介绍及简单实例
2017/01/13 PHP
lyhucSelect基于Jquery的Select数据联动插件
2011/03/29 Javascript
怎么清空javascript数组
2013/05/11 Javascript
JavaScript怎么判断图片是否加载完成以便获取其尺寸
2014/05/08 Javascript
javascript数组输出的两种方式
2015/01/13 Javascript
jQuery中(function($){})(jQuery)详解
2015/07/15 Javascript
JavaScript中实现Map的示例代码
2015/09/09 Javascript
QQ登录背景闪动效果附效果演示源码下载
2015/09/22 Javascript
全面解析Bootstrap中transition、affix的使用方法
2016/05/30 Javascript
jQuery实现点击行选中或取消CheckBox的方法
2016/08/01 Javascript
jQuery+HTML5+CSS3制作支持响应式布局时间轴插件
2016/08/10 Javascript
最棒的Angular2表格控件
2016/08/10 Javascript
基于JavaScript实现树形下拉框
2016/08/10 Javascript
javascript编写简易计算器
2017/05/06 Javascript
Vue.js学习记录之在元素与template中使用v-if指令实例
2017/06/27 Javascript
JS点击图片弹出文件选择框并覆盖原图功能的实现代码
2017/08/25 Javascript
彻底揭秘keep-alive原理(小结)
2019/05/05 Javascript
通过实例解析chrome如何在mac环境中安装vue-devtools插件
2020/07/10 Javascript
利用PHP实现递归删除链表元素的方法示例
2020/10/23 Javascript
[47:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第二场 3月4日
2021/03/11 DOTA
TensorFlow实现简单的CNN的方法
2019/07/18 Python
Python递归函数 二分查找算法实现解析
2019/08/12 Python
keras K.function获取某层的输出操作
2020/06/29 Python
移动端Web页面的CSS3 flex布局快速上手指南
2016/05/31 HTML / CSS
社区活动邀请函范文
2014/01/29 职场文书
家长通知书教师评语
2014/04/17 职场文书
项目建议书模板
2014/05/12 职场文书
公司股份合作协议书
2014/12/07 职场文书
2016党校培训心得体会
2016/01/07 职场文书
市直属机关2016年主题党日活动总结
2016/04/05 职场文书
python 如何执行控制台命令与操作剪切板
2021/05/20 Python
vscode内网访问服务器的方法
2022/06/28 Servers