$ADMIN[defaulturl] = http://www.163.com/404.htm;  //盗链返回的地址 
$okaysites = array("http://www.163.com/","http://163.com") ; //白名单  
$ADMIN[url_1] = http://www.163.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]"); 
}

?>

使用方法
:将上述代码保存为dao4.php, 
比如测试用的validatecode.rar在站点http://163.com/download里面, 
则用以下代码表示下载连接.

文件名?site=1&file=文件

一段防盗连的PHP代码的更多相关文章

  1. 一段显示隐藏列表HTML代码

    一段显示隐藏列表HTML代码, 技巧在于把页面上的元素(“返回首页”)和控制显示/隐藏的元素(id=navs-menu)放在一个共同的div上,并在该div上绑定onmouseover和onmouse ...

  2. 21 段实用便捷的 PHP 代码

    PHP 是目前使用最广泛的基于 Web 的编程语言,驱动着数以百万计的网站,其中也包括如 Facebook 等一些大型站点.这里收集了 21 段实用便捷的 PHP 代码摘录,对每种类型的 PHP 开发 ...

  3. 一段发工资的shell代码

    人事发工资条之前是一个个截图发到我们的邮箱里,看人事妹纸是一个善良而又美丽的姑凉,于是乎写了一段shell代码实现批量发短信至各个手机号.不多说了,上代码,其实很简单,我都不好意思上传,还是记录下吧, ...

  4. Longest Valid Parentheses 每每一看到自己的这段没通过的辛酸代码

    Longest Valid Parentheses My Submissions Question Solution  Total Accepted: 47520 Total Submissions: ...

  5. [javascript]一段焦点图的js代码

    <html> <head> <meta name="name" content="content"charset="ut ...

  6. 高特权级代码段转向低特权级代码段(利用 ret(retf) 指令实现 jmp from ring0 to ring3)

    [0]写在前面 0.1)本代码旨在演示 从 ring0 转移到 ring3(即,从高特权级 转移到 低特权级) 0.2)本文 只对 与 门相关的 代码进行简要注释,言简意赅: 0.3)文末的个人总结是 ...

  7. 一段曾经处理datetime的代码

    前记:主要是数据库存储记录时一个属性是以"2019-01"这样的年月进行存储的,当需要根据A年月到B年月取出相关记录时,filter()直接range()是不行的,不是数值区间或者 ...

  8. 一段处理百分数的js代码

    function percent(s, e, i){ s = Number(s), isNaN(s) && (s = "0"); var n = "%&q ...

  9. java的一段对象数据类型映射的代码

    try { List<GateMetaPO> listGateInfoPO = majorGateReaderService.queryForAggregateBy( chapter); ...

随机推荐

  1. mysql数据库 myisam数据存储引擎 表由于索引和数据导致的表损坏 的修复 和检查

    一.mysqlcheck 进行表的检查和修复 1.检查mysqlisam存储引擎表的状态 #mysqlcheck -uuser -ppassword database  table  -c  #检查单 ...

  2. NOIP2015 跳石头

    一年一度的“跳石头”比赛又要开始了! 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选择好了两块岩石作为比赛起点和终点.在起点和终点之间,有 N块岩石(不含起点和终点的岩石). ...

  3. 第二周PSP

    PSP: C(分类) C(内容) S(开始时间) ST(结束时间) I(打断时间) △(净工作时间)(分钟) 读书 构建之法 18:00 19:25 0 85 读书 构建之法 9:30 11:20 1 ...

  4. 为 C# 代码生成 API 文档(译)

    原文地址:http://broadcast.oreilly.com/2010/09/build-html-documentation-for-y.html#comments Sandcastle 功能 ...

  5. 一步步构建自己的AngularJS(2)——scope之$watch及$digest

    在上一节项目初始化中,我们最终得到了一个可以运行的基础代码库,它的基本结构如下: 其中node_modules文件夹存放项目中的第三方依赖模块,src存放我们的项目代码源文件,test存放测试用例文件 ...

  6. Zookeeper安装指南

    第一步:修改conf目录下面的 zoo_sample.cfg修改为zoo.cfg tickTime=2000 # The number of ticks that the initial # sync ...

  7. My Package

    一.新建一文件夹,名称为MyBase,存放Java的基本类. 二.在MyBase包中创建基本类Base.java. package MyBase; public class Base { public ...

  8. overfitting过拟合

    来自:https://www.zhihu.com/question/32246256 其实不完全是噪声和假规律会造成过拟合. (1)打个形象的比方,给一群天鹅让机器来学习天鹅的特征,经过训练后,知道了 ...

  9. [家里蹲大学数学杂志]第053期Legendre变换

    $\bf 题目$. 设 $\calX$ 是一个 $B$ 空间, $f:\calX\to \overline{\bbR}\sex{\equiv \bbR\cap\sed{\infty}}$ 是连续的凸泛 ...

  10. gradle大体内容

    buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:grad ...