破解图片防盗链的代码(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中利用XML技术构造远程服务(上)
Oct 09 PHP
在同一窗体中使用PHP来处理多个提交任务
Oct 09 PHP
php Smarty date_format [格式化时间日期]
Mar 15 PHP
PHP项目开发中最常用的自定义函数整理
Dec 02 PHP
PHP面向对象概念
Nov 06 PHP
PHP判断远程图片是否存在的几种方法
May 04 PHP
php 类自动载入的方法
Jun 03 PHP
PHPStrom中实用的功能和快捷键大全
Sep 23 PHP
thinkphp jquery实现图片上传和预览效果
Jul 22 PHP
详解在YII2框架中使用UEditor编辑器发布文章
Nov 02 PHP
php使用fullcalendar日历插件详解
Mar 06 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
Dec 25 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
Discuz7.2版的faq.php SQL注入漏洞分析
2014/08/06 PHP
php生成不重复随机数、数组的4种方法分享
2015/03/30 PHP
php三元运算符知识汇总
2015/07/02 PHP
JQuery 拾色器插件发布-jquery.icolor.js
2010/10/20 Javascript
jquery加载页面的方法(页面加载完成就执行)
2011/06/21 Javascript
jquery判断输入密码两次是否相等
2020/04/22 Javascript
微信小程序 页面之间传参实例详解
2017/01/13 Javascript
使用原生的javascript来实现轮播图
2017/02/24 Javascript
浅谈React组件之性能优化
2018/03/02 Javascript
bing Map 在vue项目中的使用详解
2018/04/09 Javascript
Vue press 支持图片放大功能的实例代码
2018/11/09 Javascript
详解Vue项目中实现锚点定位
2019/04/24 Javascript
Vue实现验证码功能
2019/12/03 Javascript
python中的实例方法、静态方法、类方法、类变量和实例变量浅析
2014/04/26 Python
Python-基础-入门 简介
2014/08/09 Python
python安装numpy和pandas的方法步骤
2019/05/27 Python
python实现合并多个list及合并多个django QuerySet的方法示例
2019/06/11 Python
Django CBV类的用法详解
2019/07/26 Python
python pyinstaller打包exe报错的解决方法
2019/11/02 Python
TensorFlow实现保存训练模型为pd文件并恢复
2020/02/06 Python
利用CSS3的border-radius绘制太极及爱心图案示例
2016/05/17 HTML / CSS
美国宠物商店:Wag.com
2016/10/25 全球购物
C语言开发工程师测试题
2016/12/20 面试题
C#里面如何倒序排列一个数组的元素?
2013/06/21 面试题
拉丁舞学习者的自我评价
2013/10/27 职场文书
安全生产标语
2014/06/06 职场文书
社区党建工作方案
2014/06/10 职场文书
2014年十一国庆节爱国演讲稿
2014/09/23 职场文书
2014年机关后勤工作总结
2014/12/16 职场文书
邀请函怎么写
2015/01/30 职场文书
2015年乡镇信访工作总结
2015/04/07 职场文书
保密法制宣传月活动总结
2015/05/07 职场文书
关于元旦的广播稿2016
2015/12/17 职场文书
利用Python+OpenCV三步去除水印
2021/05/28 Python
试用1103暨1103、1101同门大比武 [ DAIWEI ]
2022/04/05 无线电
CSS中理解层叠性及权重如何分配
2022/12/24 HTML / CSS