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 xml留言板 xml存储数据的简单例子
Aug 24 PHP
浅析十款PHP开发框架的对比
Jul 05 PHP
php生成excel列序号代码实例
Dec 24 PHP
PHP中的多行字符串传递给JavaScript的两种方法
Jun 19 PHP
phpword插件导出word文件时中文乱码问题处理方案
Aug 19 PHP
PHP中addcslashes与stripcslashes函数用法分析
Jan 07 PHP
PHP读取mssql json数据中文乱码的解决办法
Apr 11 PHP
PHP中Socket连接及读写数据超时问题分析
Jul 19 PHP
PHP用continue跳过本次循环中剩余代码的注意点
Jun 27 PHP
PHP注释语法规范与命名规范详解篇
Jan 21 PHP
PHP微信开发之微信录音临时转永久存储
Jan 26 PHP
TP - 比RBAC更好的权限认证方式(Auth类认证)
Mar 09 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中的array数组类型分析说明
2010/07/27 PHP
解析PHP 5.5 新特性
2013/07/02 PHP
php常用字符串处理函数实例分析
2014/11/22 PHP
PHP使用strtotime计算两个给定日期之间天数的方法
2015/03/18 PHP
PHP中的一些常用函数收集
2015/05/26 PHP
php 实现一个字符串加密解密的函数实例代码
2016/11/01 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
2017/07/21 PHP
可实现多表单提交的javascript函数
2007/08/01 Javascript
asp 取文本框名称代码
2008/12/02 Javascript
JavaScript高级程序设计 阅读笔记(十七) js事件
2012/08/14 Javascript
jquery checkbox实现单选小例
2013/11/27 Javascript
Ajax分页插件Pagination从前台jQuery到后端java总结
2016/07/22 Javascript
聊一聊jQuery插件uploadify使用方法
2016/08/24 Javascript
JS设置CSS样式的方式汇总
2017/01/21 Javascript
JavaScript登录记住密码操作(超简单代码)
2017/03/22 Javascript
nodejs接入阿里大鱼短信验证码的方法
2017/07/10 NodeJs
AngularJS实现select的ng-options功能示例
2017/07/12 Javascript
ReactNative实现Toast的示例
2017/12/31 Javascript
在Vue中使用highCharts绘制3d饼图的方法
2018/02/08 Javascript
Vue服务端渲染实践之Web应用首屏耗时最优化方案
2019/03/22 Javascript
javascript canvas检测小球碰撞
2020/04/17 Javascript
微信小程序入门之绘制时钟
2020/10/22 Javascript
[05:59]带你看看DPC的台前幕后
2021/03/11 DOTA
Python通过调用有道翻译api实现翻译功能示例
2018/07/19 Python
Python基于mysql实现学生管理系统
2019/02/21 Python
python常用函数与用法示例
2019/07/02 Python
互斥锁解决 Python 中多线程共享全局变量的问题(推荐)
2020/09/28 Python
AC Lens:购买隐形眼镜
2017/02/26 全球购物
三星英国官网:Samsung英国
2018/09/25 全球购物
电子信息科学专业自荐信
2014/01/30 职场文书
班级入场式解说词
2014/02/01 职场文书
中学生运动会入场词
2014/02/12 职场文书
预防传染病方案
2014/06/14 职场文书
2014年连锁店圣诞节活动方案
2014/12/09 职场文书
培训学校2015年度工作总结
2015/07/20 职场文书
MySQL系列之开篇 MySQL关系型数据库基础概念
2021/07/02 MySQL