破解图片防盗链的代码(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 相关文章推荐
PHP4 与 MySQL 数据库操作函数详解
Oct 09 PHP
php 生成随机验证码图片代码
Feb 08 PHP
PHP字符串函数系列之nl2br(),在字符串中的每个新行 (\n) 之前插入 HTML 换行符br
Nov 10 PHP
php实现的返回数据格式化类实例
Sep 22 PHP
十幅图告诉你什么是PHP引用
Feb 22 PHP
php实现有趣的人品测试程序实例
Jun 08 PHP
PHP实现RTX发送消息提醒的实例代码
Jan 03 PHP
详解PHP字符串替换str_replace()函数四种用法
Oct 13 PHP
php命令行写shell实例详解
Jul 19 PHP
实例讲解PHP表单验证功能
Feb 15 PHP
PHP实现发送微博消息功能完整示例
Dec 04 PHP
PHP实现简单注册登录系统
Dec 28 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
PHP include任意文件或URL介绍
2014/04/29 PHP
PHP魔术方法的使用示例
2015/06/23 PHP
Yii2-GridView 中让关联字段带搜索和排序功能示例
2017/01/21 PHP
Yii2框架中日志的使用方法分析
2017/05/22 PHP
由document.body和document.documentElement想到的
2009/04/13 Javascript
jQuery操作Select选择的Text和Value(获取/设置/添加/删除)
2013/03/06 Javascript
使用正则表达式的格式化与高亮显示json字符串
2014/12/03 Javascript
javascript框架设计之浏览器的嗅探和特征侦测
2015/06/23 Javascript
jquery Ajax 全局调用封装实例详解
2017/01/16 Javascript
JavaScript实现时钟滴答声效果
2017/01/29 Javascript
基于canvas的二维码邀请函生成插件
2017/02/14 Javascript
详解angularjs 学习之 scope作用域
2018/01/15 Javascript
Nuxt.js之自动路由原理的实现方法
2018/11/21 Javascript
[01:21:36]CHAOS vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python的dict,set,list,tuple应用详解
2014/07/24 Python
Python实现的简单hangman游戏实例
2015/06/28 Python
Python的Django框架中使用SQLAlchemy操作数据库的教程
2016/06/02 Python
分享几道你可能遇到的python面试题
2017/07/24 Python
利用Tkinter和matplotlib两种方式画饼状图的实例
2017/11/06 Python
TensorFlow实现创建分类器
2018/02/06 Python
Python 识别12306图片验证码物品的实现示例
2020/01/20 Python
python中元组的用法整理
2020/06/15 Python
Django nginx配置实现过程详解
2020/09/10 Python
Python实现LR1文法的完整实例代码
2020/10/25 Python
python Gabor滤波器讲解
2020/10/26 Python
微信小程序实现可实时改变转速的css3旋转动画实例代码
2018/09/11 HTML / CSS
html5应用缓存_动力节点Java学院整理
2017/07/13 HTML / CSS
小米旗下精品生活电商平台:小米有品
2018/12/18 全球购物
Molly Bracken法国电子商店:法国女性时尚品牌
2019/07/24 全球购物
英语生日邀请函
2014/01/23 职场文书
市场营销毕业生自荐信范文
2014/04/01 职场文书
大学英语演讲稿范文
2014/04/24 职场文书
2014年卫生工作总结
2014/11/27 职场文书
水电工程师岗位职责
2015/02/13 职场文书
煤矿安全生产管理协议书
2016/03/22 职场文书
Django框架模板用法详解
2022/06/10 Python