php防盗链的常用方法小结


Posted in PHP onJuly 02, 2010

1.简单防盗链

$ADMIN[defaulturl] = "http://3water.com/404.htm";//盗链返回的地址 
$okaysites = array("http://3water.com/","https://3water.com"); //白名单 
$ADMIN[url_1] = "http://3water.com/temp/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://3water.com/temp/download里面,
则用以下代码表示下载连接.

CODE: [Copy to clipboard]
文件名?site=1&file=文件

2.服务器防盗链
用到iis防盗链软件,可以搜下,网上有很多。s.3water.com里面有的下

3.软件下载的防盗链方法

//放置下载软件的根目录相对于当前脚本目录的相对目录 
$fileRelPath = "../../software"; 
//例外允许连接的网址,注意:自身域名不需要填入,设定为肯定可以下载, 
// 空字符串("")表示直接输入网址下载的情况 
$excludeReferArr = array("www.w3water.com", "w3water.com"); chdir($fileRelPath); 
$fileRootPath = getcwd() ."/"; 
$filePath=$HTTP_GET_VARS["file"]; 
$url=parse_url($_SERVER["HTTP_REFERER"]); 
if($url[host]!=$_SERVER["HTTP_HOST"] && !in_array($referHost, $excludeReferArr)){ 
?>
PHP 相关文章推荐
PHP 和 MySQL 基础教程(三)
Oct 09 PHP
PHP开发中常用的8个小技巧
Aug 27 PHP
php 使用post,get的一种简洁方式
Apr 25 PHP
ThinkPHP调用百度翻译类实现在线翻译
Jun 26 PHP
PHP使用CURL_MULTI实现多线程采集的例子
Jul 29 PHP
php文件上传简单实现方法
Jan 24 PHP
解决php表单重复提交实现方法
Sep 29 PHP
mac下多个php版本快速切换的方法
Oct 09 PHP
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
Dec 14 PHP
PHP curl批处理及多请求并发实现方法分析
Aug 15 PHP
Laravel 默认邮箱登录改成用户名登录的实现方法
Aug 12 PHP
laravel-admin自动生成模块,及相关基础配置方法
Oct 08 PHP
破解图片防盗链的代码(asp/php)测试通过
Jul 02 #PHP
用PHP为SHOPEX增加日志功能代码
Jul 02 #PHP
php操作excel文件 基于phpexcel
Jul 02 #PHP
PHP 多维数组排序(usort,uasort)
Jun 30 #PHP
PHP 数组遍历方法大全(foreach,list,each)
Jun 30 #PHP
PHP extract 将数组拆分成多个变量的函数
Jun 30 #PHP
PHP 反向排序和随机排序代码
Jun 30 #PHP
You might like
模仿OSO的论坛(一)
2006/10/09 PHP
thinkphp文件引用与分支结构用法实例
2014/11/26 PHP
nginx下安装php7+php5
2016/07/31 PHP
php基于dom实现读取图书xml格式数据的方法
2017/02/03 PHP
PHP自动载入类文件函数__autoload的使用方法
2019/03/25 PHP
javascript URL编码和解码使用说明
2010/04/12 Javascript
window.dialogArguments 使用说明
2011/04/11 Javascript
jquery parent和parents的区别分析
2013/10/02 Javascript
JS对select控件option选项的增删改查示例代码
2013/10/21 Javascript
基于javascript滚动图片具体实现
2013/11/18 Javascript
$.each遍历对象、数组的属性值并进行处理
2014/07/18 Javascript
JQuery跳出each循环的方法
2015/04/16 Javascript
AngularJS删除路由中的#符号的方法
2016/09/20 Javascript
JavaScript函数基础详解
2017/02/03 Javascript
浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)
2017/02/14 Javascript
zTree节点文字过多的处理方法
2017/11/24 Javascript
vue实现数字动态翻牌的效果(开箱即用)
2019/12/08 Javascript
解决小程序无法触发SESSION问题
2020/02/03 Javascript
python抓取网页中链接的静态图片
2018/01/29 Python
对numpy的array和python中自带的list之间相互转化详解
2018/04/13 Python
python分块读取大数据,避免内存不足的方法
2018/12/10 Python
python flask安装和命令详解
2019/04/02 Python
使用python serial 获取所有的串口名称的实例
2019/07/02 Python
python实现对图片进行旋转,放缩,裁剪的功能
2019/08/07 Python
Django实现CAS+OAuth2的方法示例
2019/10/30 Python
Python3操作MongoDB增册改查等方法详解
2020/02/10 Python
django处理select下拉表单实例(从model到前端到post到form)
2020/03/13 Python
Anaconda+Pycharm环境下的PyTorch配置方法
2020/03/13 Python
pip已经安装好第三方库但pycharm中import时还是标红的解决方案
2020/10/09 Python
python import 上级目录的导入
2020/11/03 Python
django使用多个数据库的方法实例
2021/03/04 Python
英语专业毕业生自荐信
2013/10/28 职场文书
经典爱情感言
2015/08/03 职场文书
百年校庆宣传标语口号
2015/12/26 职场文书
六年级情感作文之500字
2019/10/23 职场文书
讲解Python实例练习逆序输出字符串
2022/05/06 Python