破解图片防盗链的代码(asp/php)测试通过


Posted in PHP onJuly 02, 2010

php版的代码比较简单:

<?php 
$p=$_GET['p']; 
$pics=file($p); 
for($i=0;$i< count($pics);$i++) 
{ 
echo $pics[$i]; 
} 
?>

使用方法:将文件保存成i.php上传到根目录
将不能外链的图片地址改成http://你的域名p.php?p=图片地址

asp版,网上用的比较多的

<% 
Dim url, body, myCache 
url = Request.QueryString("url") 
Set myCache = new cache 
myCache.name = "picindex"&url 
If myCache.valid Then 
body = myCache.value 
Else 
body = GetWebData(url) 
myCache.add body,dateadd("d",1,now) 
End If 
If Err.Number = 0 Then 
Response.CharSet = "UTF-8" 
Response.ContentType = "application/octet-stream" 
Response.BinaryWrite body 
Response.Flush 
Else 
Wscript.Echo Err.Description 
End if 
'取得数据 
Public Function GetWebData(ByVal strUrl) 
Dim curlpath 
curlpath = Mid(strUrl,1,Instr(8,strUrl,"/")) 
Dim Retrieval 
Set Retrieval = Server.CreateObject("Microsoft.XMLHTTP") 
With Retrieval 
.Open "Get", strUrl, False,"","" 
.setRequestHeader "Referer", curlpath 
.Send 
GetWebData =.ResponseBody 
End With 
Set Retrieval = Nothing 
End Function 
'cache类 
class Cache 
private obj 'cache内容 
private expireTime '过期时间 
private expireTimeName '过期时间application名 
private cacheName 'cache内容application名 
private path 'url 
private sub class_initialize() 
path=request.servervariables("url") 
path=left(path,instrRev(path,"/")) 
end sub 
private sub class_terminate() 
end sub 
public property get blEmpty 
'是否为空 
if isempty(obj) then 
blEmpty=true 
else 
blEmpty=false 
end if 
end property 
public property get valid 
'是否可用(过期) 
if isempty(obj) or not isDate(expireTime) then 
valid=false 
elseif CDate(expireTime)<now then 
valid=false 
else 
valid=true 
end if 
end property 
public property let name(str) 
'设置cache名 
cacheName=str & path 
obj=application(cacheName) 
expireTimeName=str & "expires" & path 
expireTime=application(expireTimeName) 
end property 
public property let expires(tm) 
'重设置过期时间 
expireTime=tm 
application.lock 
application(expireTimeName)=expireTime 
application.unlock 
end property 
public sub add(var,expire) 
'赋值 
if isempty(var) or not isDate(expire) then 
exit sub 
end if 
obj=var 
expireTime=expire 
application.lock 
application(cacheName)=obj 
application(expireTimeName)=expireTime 
application.unlock 
end sub 
public property get value 
'取值 
if isempty(obj) or not isDate(expireTime) then 
value=null 
elseif CDate(expireTime)<now then 
value=null 
else 
value=obj 
end if 
end property 
public sub makeEmpty() 
'释放application 
application.lock 
application(cacheName)=empty 
application(expireTimeName)=empty 
application.unlock 
obj=empty 
expireTime=empty 
end sub 
public function equal(var2) 
'比较 
if typename(obj)<>typename(var2) then 
equal=false 
elseif typename(obj)="Object" then 
if obj is var2 then 
equal=true 
else 
equal=false 
end if 
elseif typename(obj)="Variant()" then 
if join(obj,"^")=join(var2,"^") then 
equal=true 
else 
equal=false 
end if 
else 
if obj=var2 then 
equal=true 
else 
equal=false 
end if 
end if 
end function 
end class 
%>

使用方法:将文件保存成i.asp上传到根目录
将不能外链的图片地址改成http://你的域名/p.asp?url=图片地址
为方便大家使用,复制的代码,容易出现错误。特打包下载
PHP 相关文章推荐
Windows下PHP的任意文件执行漏洞
Oct 09 PHP
php中几种常见安全设置详解
Apr 06 PHP
PHP 一个随机字符串生成代码
May 26 PHP
php 中英文语言转换类代码
Aug 11 PHP
php 搜索框提示(自动完成)实例代码
Feb 05 PHP
基于php-fpm 参数的深入理解
Jun 03 PHP
PHP+FastCGI+Nginx配置PHP运行环境
Aug 07 PHP
学习PHP session的传递方式
Jun 15 PHP
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
Oct 12 PHP
浅谈PHP中pack、unpack的详细用法
Mar 12 PHP
php web环境和命令行环境下查找php.ini的位置
Jul 17 PHP
php统计数组不同元素的个数的实例方法
Sep 26 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
PHP 数组排序方法总结 推荐收藏
Jun 30 #PHP
You might like
WinXP + Apache +PHP5 + MySQL + phpMyAdmin安装全功略
2006/07/09 PHP
PHP读MYSQL中文乱码的解决方法
2006/12/17 PHP
通过5个php实例细致说明传值与传引用的区别
2012/08/08 PHP
php设计模式之单例、多例设计模式的应用分析
2013/06/30 PHP
ThinkPHP之import方法实例详解
2014/06/20 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
2017/07/19 PHP
不安全的常用的js写法
2009/09/15 Javascript
javascript 同时在IE和FireFox获取KeyCode的代码
2010/02/07 Javascript
网易JS面试题与Javascript词法作用域说明
2010/11/09 Javascript
关于jQuery object and DOM element
2013/04/15 Javascript
jQuery+CSS3实现树叶飘落特效
2015/02/01 Javascript
ECMAScript 5严格模式(Strict Mode)介绍
2015/03/02 Javascript
Javascript验证方法大全
2015/09/21 Javascript
基于chosen插件实现人员选择树搜索自动筛选功能
2016/09/24 Javascript
JavaScript中Hoisting详解 (变量提升与函数声明提升)
2017/08/18 Javascript
详解RequireJs官方使用教程
2017/10/31 Javascript
使用vue-route 的 beforeEach 实现导航守卫(路由跳转前验证登录)功能
2018/03/22 Javascript
Vue中的作用域CSS和CSS模块的区别
2018/10/09 Javascript
[07:20]2014DOTA2西雅图国际邀请赛 选手讲解积分赛第二天
2014/07/11 DOTA
[34:39]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第二局
2016/03/05 DOTA
Python实现的质因式分解算法示例
2018/05/03 Python
pyhanlp安装介绍和简单应用
2019/02/22 Python
python中字符串数组逆序排列方法总结
2019/06/23 Python
详解Python中的分支和循环结构
2020/02/11 Python
W3C公布最新的HTML5标准草案
2008/10/17 HTML / CSS
在线学习西班牙语、法语或其他语言:Babbel.com
2018/02/07 全球购物
Speedo速比涛中国官方网站:全球领先泳装运动品牌
2018/04/24 全球购物
应届生文秘专业个人自荐信格式
2013/09/21 职场文书
一份报关员的职业规划范文
2014/01/08 职场文书
《守株待兔》教学反思
2014/03/01 职场文书
领导干部遵守党的政治纪律情况思想汇报
2014/09/14 职场文书
乡镇干部个人对照检查材料(群众路线)
2014/09/26 职场文书
家长会感言
2015/08/01 职场文书
python tqdm用法及实例详解
2021/06/16 Python
Python编程源码报错解决方法总结经验分享
2021/10/05 Python
如何使用python包中的sched事件调度器
2022/04/30 Python