破解图片防盗链的代码(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.ini中文版(1)
Oct 09 PHP
dedecms系统常用术语汇总
Apr 03 PHP
PHP 危险函数解释 分析
Apr 22 PHP
php 传值赋值与引用赋值的区别
Dec 29 PHP
php curl 伪造IP来源的实例代码
Nov 01 PHP
神盾加密解密教程(二)PHP 神盾解密
Jun 08 PHP
smarty内置函数foreach用法实例
Jan 22 PHP
PHP 7.0.2 正式版发布
Jan 08 PHP
PHP使用内置函数生成图片的方法详解
May 09 PHP
功能强大的PHP POST提交数据类
Jul 15 PHP
php单元测试phpunit入门实例教程
Nov 17 PHP
基于PHP+Mysql简单实现了图书购物车系统的实例详解
Aug 06 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基础知识:类与对象(2) 自动加载对象
2006/12/13 PHP
PHP PDOStatement:bindParam插入数据错误问题分析
2013/11/13 PHP
PHP 开发者该知道的 5 个 Composer 小技巧
2016/02/03 PHP
简要剖析PHP的Yii框架的组件化机制的基本知识
2016/03/17 PHP
jQuery的deferred对象使用详解
2011/08/20 Javascript
javascript nextSibling 与 getNextElement(node) 使用介绍
2011/10/13 Javascript
浏览器解析js生成的html出现样式问题的解决方法
2012/04/16 Javascript
js判断60秒以及倒计时示例代码
2014/01/24 Javascript
解决extjs grid 不随窗口大小自适应的改变问题
2014/01/26 Javascript
js自定义鼠标右键的实现原理及源码
2014/06/23 Javascript
JavaScript Promise 用法
2016/06/14 Javascript
原生js实现返回顶部缓冲效果
2017/01/18 Javascript
JS实现复制功能
2017/03/01 Javascript
js读取json文件片段中的数据实例
2017/03/09 Javascript
提高Node.js性能的应用技巧分享
2017/08/10 Javascript
小程序测试后台服务的方法(ngrok)
2019/03/08 Javascript
pm2发布node配置文件ecosystem.json详解
2019/05/15 Javascript
基于JS实现数字动态变化显示效果附源码
2019/07/18 Javascript
解决vue项目F5刷新mounted里的函数不执行问题
2019/11/05 Javascript
JS+CSS实现动态时钟
2021/02/19 Javascript
Python爬取qq空间说说的实例代码
2018/08/17 Python
python数据批量写入ScrolledText的优化方法
2018/10/11 Python
Python处理session的方法整理
2019/08/29 Python
细说NumPy数组的四种乘法的使用
2020/12/18 Python
this关键字的含义
2015/04/08 面试题
建筑装饰学院室内设计专业个人自我评价
2013/12/07 职场文书
财务会计实习报告体会
2013/12/20 职场文书
大学生个人实习的自我评价
2014/02/15 职场文书
公司合作意向书
2014/04/01 职场文书
捐款活动总结
2014/08/27 职场文书
地理科学专业自荐信
2014/09/01 职场文书
房屋授权委托书范本
2014/10/07 职场文书
查摆问题整改措施范文
2014/10/11 职场文书
2015年社区文体活动总结
2015/03/25 职场文书
dubbo集成zipkin获取Traceid的实现
2021/07/26 Java/Android
baselines示例程序train_cartpole.py的ImportError
2022/05/20 Python