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 相关文章推荐
第二节--PHP5 的对象模型
Nov 16 PHP
PHP 读取文件内容代码(txt,js等)
Dec 06 PHP
PHP在特殊字符前加斜杠的实现代码
Jul 17 PHP
基于php-fpm 参数的深入理解
Jun 03 PHP
关于PHPDocument 代码注释规范的总结
Jun 25 PHP
百度工程师讲PHP函数的实现原理及性能分析(二)
May 13 PHP
PHP类型约束用法示例
Sep 28 PHP
微信公众号模板消息群发php代码示例
Dec 29 PHP
PDO::setAttribute讲解
Jan 29 PHP
PHP使用ajax的post方式下载excel文件简单示例
Aug 06 PHP
laravel5环境隐藏index.php后缀(apache)的方法
Oct 12 PHP
PHP实现常用排序算法的方法
Feb 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
PHP一些常用的正则表达式字符的一些转换
2008/07/29 PHP
PHP中date()日期函数有关参数整理
2011/07/19 PHP
php数组函数序列 之shuffle()和array_rand() 随机函数使用介绍
2011/10/29 PHP
PHP+Mysql日期时间如何转换(UNIX时间戳和格式化日期)
2012/07/15 PHP
php中的常用魔术方法总结
2013/08/02 PHP
PHPExcel内存泄漏问题解决方法
2015/01/23 PHP
SAE实时日志接口SDK用法示例
2016/10/09 PHP
php rmdir使用递归函数删除非空目录实例详解
2016/10/20 PHP
php mysql实现mysql_select_db选择数据库
2016/12/30 PHP
基于PHP实现解密或加密Cloudflar邮箱保护
2020/06/24 PHP
在JavaScript中使用inline函数的问题
2007/03/08 Javascript
用js闭包的方法实现多点标注冒泡示例
2014/05/29 Javascript
json中换行符的处理方法示例介绍
2014/06/10 Javascript
js闭包的用途详解
2014/11/09 Javascript
javascript实现获取浏览器版本、操作系统类型
2015/01/29 Javascript
jQuery实现加入购物车飞入动画效果
2015/03/14 Javascript
JQuery简单实现锚点链接的平滑滚动
2015/05/03 Javascript
Node.js本地文件操作之文件拷贝与目录遍历的方法
2016/02/16 Javascript
原生JavaScript制作微博发布面板效果
2016/03/11 Javascript
JS实现点击登录弹出窗口同时背景色渐变动画效果
2016/03/25 Javascript
快速掌握jQuery插件开发
2017/01/19 Javascript
jquery pagination分页插件使用详解(后台struts2)
2017/01/22 Javascript
JS简单验证上传文件类型的方法
2017/04/17 Javascript
解决Layui数据表格的宽高问题
2019/09/28 Javascript
[56:47]Ti4 循环赛第三日 iG vs Liquid
2014/07/12 DOTA
Python linecache.getline()读取文件中特定一行的脚本
2008/09/06 Python
python使用心得之获得github代码库列表
2014/06/25 Python
python实现堆栈与队列的方法
2015/01/15 Python
实例讲解Python的函数闭包使用中应注意的问题
2016/06/20 Python
python实战之实现excel读取、统计、写入的示例讲解
2018/05/02 Python
python实现图像检索的三种(直方图/OpenCV/哈希法)
2019/08/08 Python
Python图像处理库PIL的ImageGrab模块介绍详解
2020/02/26 Python
python中pyplot基础图标函数整理
2020/11/10 Python
本科生导师推荐信范文
2014/05/18 职场文书
Nginx 根据URL带的参数转发的实现
2021/04/01 Servers
MongoDB修改oplog大小的四种方法
2022/04/11 MongoDB