破解图片防盗链的代码(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简单命令代码集锦
Sep 24 PHP
php Sql Server连接失败问题及解决办法
Aug 07 PHP
php面向对象全攻略 (十七) 自动加载类
Sep 30 PHP
计算一段日期内的周末天数的php代码(星期六,星期日总和)
Nov 12 PHP
非常精妙的PHP递归调用与静态变量使用
Dec 16 PHP
深入PHP中慎用双等于(==)的详解
Jun 06 PHP
php5.4以下版本json不支持不转义内容中文的解决方法
Jan 13 PHP
php截取中文字符串函数实例
Feb 23 PHP
php简单操作mysql数据库的类
Apr 16 PHP
Swoole-1.7.22 版本已发布,修复PHP7相关问题
Dec 31 PHP
php实例化一个类的具体方法
Sep 19 PHP
Thinkphp 框架配置操作之动态配置、扩展配置及批量配置实例分析
May 15 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处理excel cvs表格的方法实例介绍
2013/05/13 PHP
php ci 获取表单中多个同名input元素值的代码
2016/03/25 PHP
PHP面向对象程序设计之接口的继承定义与用法详解
2018/12/20 PHP
PHP正则之正向预查与反向预查讲解与实例
2020/04/06 PHP
ThinkPHP5分页paginate代码实例解析
2020/11/10 PHP
js获取select标签的值且兼容IE与firefox
2013/12/30 Javascript
jQuery学习笔记之jQuery原型属性和方法
2014/06/09 Javascript
BOOTSTRAP时间控件显示在模态框下面的bug修复
2015/02/05 Javascript
js实现图片漂浮效果的方法
2015/03/02 Javascript
JavaScript高级程序设计(第三版)学习笔记6、7章
2016/03/11 Javascript
js如何准确获取当前页面url网址信息
2020/09/13 Javascript
Nodejs读取文件时相对路径的正确写法(使用fs模块)
2017/04/27 NodeJs
AngularJS实现动态添加Option的方法
2017/05/17 Javascript
vue.js获取数据库数据实例代码
2017/05/26 Javascript
详解Javascript 中的 class、构造函数、工厂函数
2017/12/20 Javascript
p5.js 毕达哥拉斯树的实现代码
2018/03/23 Javascript
40行代码把Vue3的响应式集成进React做状态管理
2020/05/20 Javascript
在webstorm中配置less的方法详解
2020/09/25 Javascript
[02:48]DOTA2英雄基础教程 暗夜魔王
2013/12/12 DOTA
[51:17]VGJ.T vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[01:18]PWL开团时刻DAY10——一拳超人
2020/11/11 DOTA
Python实现数通设备端口使用情况监控实例
2015/07/15 Python
python 类的继承 实例方法.静态方法.类方法的代码解析
2019/08/23 Python
简单了解为什么python函数后有多个括号
2019/12/19 Python
Python3 解决读取中文文件txt编码的问题
2019/12/20 Python
如何基于Python爬取隐秘的角落评论
2020/07/02 Python
CSS3动画效果回调处理详解
2014/12/10 HTML / CSS
Aveda美国官网:天然护发产品、洗发水、护发素和沙龙
2016/12/09 全球购物
意大利拉斐尔时尚购物网:Raffaello Network(支持中文)
2018/11/09 全球购物
Made in Design英国:设计家具、照明、家庭装饰和花园家具
2019/09/24 全球购物
医院辞职信范文
2014/01/17 职场文书
员工试用期转正自我评价
2015/03/10 职场文书
2015年销售员工作总结范文
2015/04/07 职场文书
六一儿童节致辞稿(3篇)
2019/07/11 职场文书
python opencv常用图形绘制方法(线段、矩形、圆形、椭圆、文本)
2021/04/12 Python
python实现剪贴板的操作
2021/07/01 Python