破解图片防盗链的代码(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 友好URL的实现(吐血推荐)
Oct 04 PHP
基于HTTP长连接的&quot;服务器推&quot;技术的php 简易聊天室
Oct 31 PHP
用PHP获取Google AJAX Search API 数据的代码
Mar 12 PHP
优化PHP程序的方法小结
Feb 23 PHP
php代码中使用换行及(\n或\r\n和br)的应用
Feb 02 PHP
浅析关于PHP位运算的简单权限设计
Jun 30 PHP
不使用php api函数实现数组的交换排序示例
Apr 13 PHP
CodeIgniter中使用Smarty3基本配置
Jun 29 PHP
JSON字符串传到后台PHP处理问题的解决方法
Jun 05 PHP
php中类和对象:静态属性、静态方法
Apr 09 PHP
PHP实现获取ip地址的5种方法,以及插入用户登录日志操作示例
Feb 28 PHP
aec加密 php_php aes加密解密类(兼容php5、php7)
Mar 14 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 地址栏信息的获取代码
2009/01/07 PHP
php中判断字符串是否全是中文或含有中文的实现代码
2011/09/16 PHP
php实现mysql数据库操作类分享
2014/02/14 PHP
浅谈discuz密码加密的方式
2014/05/22 PHP
PHP查找与搜索数组元素方法总结
2015/06/12 PHP
作为程序员必知的16个最佳PHP库
2015/12/09 PHP
php中文字符串截取多种方法汇总
2016/10/06 PHP
客户端 使用XML DOM加载json数据的方法
2010/09/28 Javascript
浅析javascript闭包 实例分析
2010/12/25 Javascript
火狐textarea输入法的bug的触发及解决
2013/07/24 Javascript
百度UEditor编辑器如何关闭抓取远程图片功能
2015/03/03 Javascript
JQuery复制DOM节点的方法
2015/06/11 Javascript
jquery实现适用于门户站的导航下拉菜单效果代码
2015/08/24 Javascript
JavaScript驾驭网页-获取网页元素
2016/03/24 Javascript
jQuery中delegate()方法的用法详解
2016/10/13 Javascript
node.js学习之base64编码解码
2016/10/21 Javascript
jQuery和CSS仿京东仿淘宝列表导航菜单
2017/01/04 Javascript
Vue和Bootstrap的整合思路详解
2017/06/30 Javascript
vue2.0移除或更改的一些东西(移除index key)
2017/08/28 Javascript
使用 JavaScript 创建并下载文件(模拟点击)
2019/10/25 Javascript
原生js实现密码强度验证功能
2020/03/18 Javascript
JavaScript console的使用方法实例分析
2020/04/28 Javascript
VSCode搭建React Native环境
2020/05/07 Javascript
Vue toFixed保留两位小数的3种方式
2020/10/23 Javascript
解决Antd 里面的select 选择框联动触发的问题
2020/10/24 Javascript
[00:23]魔方之谜解锁款式
2018/12/20 DOTA
Python3实现发送QQ邮件功能(文本)
2017/12/15 Python
Html5百叶窗效果的示例代码
2017/12/11 HTML / CSS
html5调用app分享功能示例(WebViewJavascriptBridge)
2018/03/21 HTML / CSS
水毁工程实施方案
2014/04/01 职场文书
新教师培训心得体会
2014/09/02 职场文书
公证书格式
2015/01/23 职场文书
停电通知范文
2015/04/16 职场文书
2015年村计划生育工作总结
2015/04/28 职场文书
JavaScript实现复选框全选功能
2021/04/11 Javascript
使用 CSS 轻松实现一些高频出现的奇形怪状按钮
2021/12/06 HTML / CSS