一段防盗连的PHP代码

<?php

$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=文件  

例如以下URL.复制到你的站点下试试

   
http://www.163.com/dao4.php?site=1&file=validatecode.rar

以上代码测试可用

时间: 2024-10-29 18:14:19

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

一段防盗链的PHP代码

<?php $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] = ""

一段防盗连的PHP代码_php实例

$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,以此类推  $reffe

一段ASP防采集的代码

采集 一段ASP防采集的代码<%        '作用:文字防复制乱码 函数        'Date:2006-3-6        '作者:blue2004        '参数str 为原文,str1作者也是你自己,reslut产生乱码的种子        Function ReadToCode(str,Str1,result)                dim name                dim i,j,k                If isnull(str) th

刚学c++的小白,在网上看到一段读写ini文件的代码,想试试结果有错。

问题描述 刚学c++的小白,在网上看到一段读写ini文件的代码,想试试结果有错. #include "stdafx.h" #include #include #include using namespace std; int main() { LPTSTR lpPath= new char[MAX_PATH]; strcpy(lpPath, "D:\IniFileName.ini"); WritePrivateProfileString("LiMing&q

builder-麻烦大家帮我详细解释下下面这段与串口交互的代码,谢谢!

问题描述 麻烦大家帮我详细解释下下面这段与串口交互的代码,谢谢! void __fastcall TfrmPatient::edtDosageDblClick(TObject *Sender) { //read comm data,then set in edtDosage edit //open com port HANDLE hCom = CreateFile(g_ConfigManager.sComPort.c_str(),GENERIC_WRITE,0,NULL,OPEN_EXISTIN

c++-一段关于C++空间分配的代码的疑问

问题描述 一段关于C++空间分配的代码的疑问 代码如下: #include"stdafx.h" class X{ public: X(){} ~X(){printf("end");} }; void f(int i) { if(i<10) { //goto jump1; } X x1; jump1: switch(i){ case 1: X x2; break; //case 2: X x3; break; } } int main() { f(1); ret

xaml-wpf中,我想要将一段XAML转换为C#后台代码,请问如何实现

问题描述 wpf中,我想要将一段XAML转换为C#后台代码,请问如何实现 local:MyToolTipContent//tt:ToolTipBehavior/i:Interaction.Behaviors 解决方案 你的代码挂了~~~~~~~~~~~~ 解决方案二: local:MyToolTipContent//tt:ToolTipBehavior/i:Interaction.Behaviors 解决方案三: <Button Content="执行" Margin="

c++-一段网络的通信的代码,怎么做单元测试?(代码如下)

问题描述 一段网络的通信的代码,怎么做单元测试?(代码如下) 本人使用的是cppunit框架,代码如下: 想对这个Worker函数进行单元测试,说明:Worker是在一个线程中执行的,Connect()是连接到服务器的代码,recv(...)是收取包头,即文件长度,ReceiveOnPackage是获取数据.问题是这段代码要在真实环境测试,那必须开启服务端,感觉这和单元测试要求的代码隔离有所违背(不知道自己说的对不对).如果要模拟服务器端,那应该如何做了?求教,各位大牛,先谢谢了! void T

javascript-C#解密一段加密后的Js代码

问题描述 C#解密一段加密后的Js代码 eval(function(p,a,c,k,e,r){e=function(c){return c.toString(a)};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp(''+e(c)+''