破解图片防盗链的代码(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 相关文章推荐
php的一个登录的类 [推荐]
Mar 16 PHP
php时间不正确的解决方法
Apr 09 PHP
php REMOTE_ADDR之获取访客IP的代码
Apr 22 PHP
关于Iframe如何跨域访问Cookie和Session的解决方法
Apr 15 PHP
PHPMailer邮件发送的实现代码
May 04 PHP
PHP的PSR规范中文版
Sep 28 PHP
CMS中PHP判断系统是否已经安装的方法示例
Jul 26 PHP
PHP中exec与system用法区别分析
Sep 22 PHP
PHP7.1新功能之Nullable Type用法分析
Sep 26 PHP
PHP实现的DES加密解密类定义与用法示例
Nov 02 PHP
微信公众平台开发教程⑤ 微信扫码支付模式介绍
Apr 10 PHP
数据结构之利用PHP实现二分搜索树
Oct 25 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与XML联手进行网站编程代码实例
2008/07/10 PHP
超级实用的7个PHP代码片段分享
2012/01/05 PHP
ThinkPHP里用U方法调用js文件实例
2015/06/18 PHP
PHP入门教程之正则表达式基本用法实例详解(正则匹配,搜索,分割等)
2016/09/11 PHP
比较全的JS checkbox全选、取消全选、删除功能代码
2008/12/19 Javascript
js RuntimeObject() 获取ie里面自定义函数或者属性的集合
2010/11/23 Javascript
jquery(live)中File input的change方法只起一次作用的解决办法
2011/10/21 Javascript
js如何判断用户是否是用微信浏览器
2014/06/05 Javascript
jquery实现的鼠标下拉滚动置顶效果
2014/07/24 Javascript
jQuery插件Easyui设置datagrid的pageNumber导致两次请求问题的解决方法
2016/08/06 Javascript
基于bootstrap-datetimepicker.js不支持IE8的快速解决方法
2016/11/07 Javascript
AngularJS中的拦截器实例详解
2017/04/07 Javascript
微信小程序商品详情页的底部弹出框效果
2020/11/16 Javascript
如何理解Vue的v-model指令的使用方法
2018/07/19 Javascript
浅谈Vue组件及组件的注册方法
2018/08/24 Javascript
Vue模拟数据,实现路由进入商品详情页面的示例
2018/08/31 Javascript
React 源码中的依赖注入方法
2018/11/07 Javascript
[56:18]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第二局
2016/03/05 DOTA
[39:53]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第一场 11.19
2020/11/19 DOTA
跟老齐学Python之再深点,更懂list
2014/09/20 Python
Python中用Spark模块的使用教程
2015/04/13 Python
Python抓取淘宝下拉框关键词的方法
2015/07/08 Python
Python匹配中文的正则表达式
2016/05/11 Python
使用python遍历指定城市的一周气温
2017/03/31 Python
python 多线程重启方法
2019/02/18 Python
python multiprocessing模块用法及原理介绍
2019/08/20 Python
python实现ssh及sftp功能(实例代码)
2020/03/16 Python
使用python修改文件并立即写回到原始位置操作(inplace读写)
2020/06/28 Python
使用Keras构造简单的CNN网络实例
2020/06/29 Python
详解在Python中使用Torchmoji将文本转换为表情符号
2020/07/27 Python
python语音识别指南终极版(有这一篇足矣)
2020/09/09 Python
html5 touch事件实现触屏页面上下滑动(二)
2016/03/10 HTML / CSS
薪酬专员岗位职责
2014/02/18 职场文书
2014年采购部工作总结
2014/11/20 职场文书
新员工辞职信范文
2015/05/12 职场文书
2016大学生暑期社会实践心得体会
2016/01/14 职场文书