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的cms
Dec 19 PHP
几个有用的php字符串过滤,转换函数代码
May 01 PHP
php检测文件编码的方法示例
Apr 25 PHP
PHP生成数组再传给js的方法
Aug 07 PHP
PHP利用MySQL保存session的实现思路及示例代码
Sep 09 PHP
浅谈php正则表达式中的非贪婪模式匹配的使用
Nov 25 PHP
php中adodbzip类实例
Dec 08 PHP
在Mac OS的PHP环境下安装配置MemCache的全过程解析
Feb 15 PHP
深入分析PHP优化及注意事项
Jul 04 PHP
php实现的pdo公共类定义与用法示例
Jul 19 PHP
kindeditor 加入七牛云上传的实例讲解
Nov 12 PHP
PHP操作Redis常用命令的实例详解
Dec 23 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
ADODB结合SMARTY使用~超级强
2006/11/25 PHP
phpmyadmin打开很慢的解决方法
2014/04/21 PHP
PHP常用的排序和查找算法
2015/08/06 PHP
php使用GD2绘制几何图形示例
2017/02/15 PHP
clientX,pageX,offsetX,x,layerX,screenX,offsetLeft区别分析
2010/03/12 Javascript
原生javascript实现图片轮播效果代码
2010/09/03 Javascript
javascript Window及document对象详细整理
2011/01/12 Javascript
基于KMP算法JavaScript的实现方法分析
2013/05/03 Javascript
JQuery伸缩导航练习示例
2013/11/13 Javascript
jQuery简单实现banner图片切换
2014/01/02 Javascript
js中哈希表的几种用法总结
2014/01/28 Javascript
js 通过cookie实现刷新不变化树形菜单
2014/10/30 Javascript
Bootstrap实现弹性搜索框
2016/07/11 Javascript
JS判断form内所有表单是否为空的简单实例
2016/09/09 Javascript
jQuery表格(Table)基本操作实例分析
2017/03/10 Javascript
利用node.js实现反向代理的方法详解
2017/07/24 Javascript
使用Vue完成一个简单的todolist的方法
2017/12/01 Javascript
详解angularjs 学习之 scope作用域
2018/01/15 Javascript
vue iview实现动态路由和权限验证功能
2018/04/17 Javascript
vue下拉菜单组件(含搜索)的实现代码
2018/11/25 Javascript
js代码编写无缝轮播图
2020/09/13 Javascript
解读Django框架中的低层次缓存API
2015/07/24 Python
Python入门教程之运算符与控制流
2016/08/17 Python
python表格存取的方法
2018/03/07 Python
Python3.6通过自带的urllib通过get或post方法请求url的实例
2018/05/10 Python
python 遍历pd.Series的index和value
2019/11/26 Python
快速解决jupyter notebook启动需要密码的问题
2020/04/21 Python
opencv+pyQt5实现图片阈值编辑器/寻色块阈值利器
2020/11/13 Python
美国户外运动商店:Sun & Ski
2018/08/23 全球购物
活动策划邀请函
2014/02/06 职场文书
项目战略合作意向书
2015/05/08 职场文书
初中毕业生感言
2015/07/31 职场文书
军训后的感想
2015/08/07 职场文书
eval(cmd)与eval($cmd)的区别与联系
2021/07/07 PHP
Nginx配置文件详解以及优化建议指南
2021/09/15 Servers
关于Nginx中虚拟主机的一些冷门知识小结
2022/03/03 Servers