破解图片防盗链的代码(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 相关文章推荐
smarty实例教程
Nov 19 PHP
让你的WINDOWS同时支持MYSQL4,MYSQL4.1,MYSQL5X
Dec 06 PHP
PHP 设置MySQL连接字符集的方法
Jan 02 PHP
PHP全概率运算函数(优化版) Webgame开发必备
Jul 04 PHP
php继承的一个应用
Sep 06 PHP
实测在class的function中include的文件中非php的global全局环境
Jul 15 PHP
开启PHP Static 关键字之旅模式
Nov 13 PHP
EarthLiveSharp中cloudinary的CDN图片缓存自动清理python脚本
Apr 04 PHP
php记录搜索引擎爬行记录的实现代码
Mar 02 PHP
启用OPCache提高PHP程序性能的方法
Mar 21 PHP
YII框架http缓存操作示例
Apr 29 PHP
TP5框架实现的数据库备份功能示例
Apr 05 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
第三节--定义一个类
2006/11/16 PHP
7个超级实用的PHP代码片段
2011/07/11 PHP
PHP对象递归引用造成内存泄漏分析
2014/08/28 PHP
PHP实现生成唯一会员卡号
2015/08/24 PHP
PHP AjaxForm提交图片上传并显示图片源码
2016/11/29 PHP
thinkphp项目如何自定义微信分享描述内容
2017/02/20 PHP
GWT中复制到剪贴板 js+flash实现复制 兼容性比较好
2010/03/07 Javascript
javascript模版引擎-tmpl的bug修复与性能优化分析
2011/10/23 Javascript
Nodejs学习笔记之Stream模块
2015/01/13 NodeJs
js绘制圆形和矩形的方法
2015/08/05 Javascript
js实现文本框支持加减运算的方法
2015/08/19 Javascript
jQuery给元素添加样式的方法详解
2015/12/30 Javascript
jQuery实现产品对比功能附源码下载
2016/08/09 Javascript
Vue项目webpack打包部署到Tomcat刷新报404错误问题的解决方案
2018/05/15 Javascript
vue项目打包之后背景样式丢失的解决方案
2019/01/17 Javascript
vue项目中在外部js文件中直接调用vue实例的方法比如说this
2019/04/28 Javascript
jquery实现自定义树形表格的方法【自定义树形结构table】
2019/07/12 jQuery
使用Taro实现小程序商城的购物车功能模块的实例代码
2020/06/05 Javascript
vue 解决setTimeOut和setInterval函数无效报错的问题
2020/07/30 Javascript
JavaScript实现图片放大预览效果
2020/11/02 Javascript
jquery实现穿梭框功能
2021/01/19 jQuery
详解vite2.0配置学习(typescript版本)
2021/02/25 Javascript
Python lambda和Python def区别分析
2014/11/30 Python
python发送邮件功能实现代码
2016/07/15 Python
python中类变量与成员变量的使用注意点总结
2017/04/29 Python
python监控键盘输入实例代码
2018/02/09 Python
windows10下安装TensorFlow Object Detection API的步骤
2019/06/13 Python
Numpy的简单用法小结
2019/08/28 Python
python中对_init_的理解及实例解析
2019/10/11 Python
购买美国制造的相框和画框架:Picture Frames
2018/08/14 全球购物
贪睡宠物用品:Snoozer Pet Products
2020/02/04 全球购物
入党转预备思想汇报
2014/01/07 职场文书
青年安全生产示范岗事迹材料
2014/05/04 职场文书
师德师风建设整改措施思想汇报
2014/10/11 职场文书
嘉宾邀请函
2015/01/31 职场文书
Python的property属性详细讲解
2022/04/11 Python