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 相关文章推荐
开源SNS系统-ThinkSNS
May 18 PHP
介绍php设计模式中的工厂模式
Jun 12 PHP
PHP base64+gzinflate压缩编码和解码代码
Oct 03 PHP
打造超酷的PHP数据饼图效果实现代码
Nov 23 PHP
解析PHP中的正则表达式以及模式匹配
Jun 19 PHP
解析PHP中$_FILES的使用以及注意事项
Jul 05 PHP
PHP URL参数获取方式的四种例子
Feb 28 PHP
PHP中常用的转义函数
Feb 28 PHP
PHP Curl模拟登录微信公众平台、新浪微博实例代码
Jan 28 PHP
php简单计算年龄的方法(周岁与虚岁)
Dec 06 PHP
laravel 实现用户登录注销并限制功能
Oct 24 PHP
PHP网页缓存技术优点及代码实例
Jul 29 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实现删除非站内外部链接实例代码
2014/06/17 PHP
ThinkPHP 模板substr的截取字符串函数详解
2017/01/09 PHP
使用phpQuery获取数组的实例
2017/03/13 PHP
php-fpm开启状态统计的方法详解
2017/06/23 PHP
XML+XSL 与 HTML 两种方案的结合
2007/04/22 Javascript
老鱼 浅谈javascript面向对象编程
2010/03/04 Javascript
js indexOf()定义和用法
2012/10/21 Javascript
javascript的parseFloat()方法精度问题探讨
2013/11/26 Javascript
JavaScript将取代AppleScript?
2014/09/18 Javascript
jquery模拟进度条实现方法
2015/08/03 Javascript
JavaScript ParseFloat()方法
2015/12/18 Javascript
js阻止浏览器默认行为触发的通用方法(推荐)
2016/05/15 Javascript
javaScript如何跳出多重循环break、continue
2016/09/01 Javascript
JS简单实现禁止访问某个页面的方法
2016/09/13 Javascript
详解微信小程序开发之——wx.showToast(OBJECT)的使用
2017/01/18 Javascript
vue2笔记 — vue-router路由懒加载的实现
2017/03/03 Javascript
浅谈对Angular中的生命周期钩子的理解
2017/07/31 Javascript
微信小程序局部刷新触发整页刷新效果的实现代码
2018/11/21 Javascript
JavaScript面向对象编程小游戏---贪吃蛇代码实例
2019/05/15 Javascript
微信小程序实现签字功能
2019/12/23 Javascript
[02:48]DOTA2英雄基础教程 拉席克
2013/12/12 DOTA
Python实现全局变量的两个解决方法
2014/07/03 Python
python 时间戳与格式化时间的转化实现代码
2016/03/23 Python
Python实现针对中文排序的方法
2017/05/09 Python
Django中使用Celery的方法示例
2018/11/29 Python
python给微信好友定时推送消息的示例
2019/02/20 Python
实例详解python函数的对象、函数嵌套、名称空间和作用域
2019/05/31 Python
python super的使用方法及实例详解
2019/09/25 Python
Tensorflow Summary用法学习笔记
2020/01/10 Python
Python中求对数方法总结
2020/03/10 Python
Python绘制动态水球图过程详解
2020/06/03 Python
党校学习自我鉴定
2014/02/24 职场文书
企业演讲稿范文大全
2014/05/20 职场文书
乡镇领导班子四风对照检查材料
2014/09/27 职场文书
学雷锋广播稿大全
2015/08/19 职场文书
维护民族团结心得体会2016
2016/01/15 职场文书