破解图片防盗链的代码(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 相关文章推荐
抓取并下载CSS中所有图片文件的php代码
Sep 26 PHP
有关PHP中MVC的开发经验分享
May 17 PHP
利用中国天气预报接口实现简单天气预报
Jan 20 PHP
Destoon实现多表查询示例
Aug 21 PHP
浅谈php和.net的区别
Sep 28 PHP
详细解读PHP中接口的应用
Aug 12 PHP
php析构函数的简单使用说明
Aug 24 PHP
使用Huagepage和PGO来提升PHP7的执行性能
Nov 30 PHP
Yii2框架BootStrap样式的深入理解
Nov 07 PHP
php变量与数组相互转换的方法(extract与compact)
Dec 02 PHP
php简单实现单态设计模式的方法分析
Jul 28 PHP
PHP之header函数详解
Mar 02 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中神奇的fastcgi_finish_request
2011/05/02 PHP
php Xdebug的安装与使用详解
2013/06/20 PHP
跟我学Laravel之快速入门
2014/10/15 PHP
php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法
2014/11/04 PHP
Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
2017/10/11 PHP
不安全的常用的js写法
2009/09/15 Javascript
用JS控制回车事件的代码
2011/02/20 Javascript
基于jquery的代码显示区域自动拉长效果
2011/12/07 Javascript
深入领悟JavaScript中的面向对象
2013/11/18 Javascript
页面按钮禁用与解除禁用的方法
2014/02/19 Javascript
jQuery实现简单的列表式导航菜单效果代码
2015/08/31 Javascript
js实现select下拉框菜单
2015/12/08 Javascript
JavaScript组合模式学习要点
2016/08/26 Javascript
详解基于Vue cli生成的Vue项目的webpack4升级
2018/06/19 Javascript
JAVA面试题 static关键字详解
2019/07/16 Javascript
layui实现根据table数据判断按钮显示情况的方法
2019/09/26 Javascript
d3.js实现图形拖拽
2019/12/19 Javascript
[03:27]最受玩家喜爱奖提名:PZH_Element 致玩家寄语
2016/12/20 DOTA
本地文件上传到七牛云服务器示例(七牛云存储)
2014/01/11 Python
python 实现网上商城,转账,存取款等功能的信用卡系统
2016/07/15 Python
Python实现网站注册验证码生成类
2017/06/08 Python
PyQt5利用QPainter绘制各种图形的实例
2017/10/19 Python
python调用c++ ctype list传数组或者返回数组的方法
2019/02/13 Python
python中常见错误及解决方法
2020/06/21 Python
Python3+Appium安装及Appium模拟微信登录方法详解
2021/02/16 Python
Otel.com:折扣酒店预订
2017/08/24 全球购物
意大利火车票和铁路通行证专家:ItaliaRail
2019/01/22 全球购物
C语言怎样定义和声明全局变量和函数最好
2013/11/26 面试题
关于Assembly命名空间的三个面试题
2015/07/23 面试题
保送生自荐信范文
2013/10/06 职场文书
汽车检测与维修专业求职信
2013/10/30 职场文书
超市国庆节促销方案
2014/02/20 职场文书
大跃进口号
2014/06/16 职场文书
借款民事起诉状范文
2015/05/19 职场文书
2016年“抗战胜利纪念日”71周年校园广播稿
2015/12/18 职场文书
JVM的类加载器和双亲委派模式你了解吗
2022/03/13 Java/Android