破解图片防盗链的代码(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 相关文章推荐
Gregarius中文日期格式问题解决办法
Apr 22 PHP
php htmlspecialchars加强版
Feb 16 PHP
php模块memcache和memcached区别分析
Jun 14 PHP
php数组函数序列之array_combine() - 数组合并函数使用说明
Oct 29 PHP
php提示Call-time pass-by-reference has been deprecated in的解决方法[已测]
May 06 PHP
通过5个php实例细致说明传值与传引用的区别
Aug 08 PHP
PHP编码转换函数 自动转换字符集支持数组转换
Dec 16 PHP
在PHP模板引擎smarty生成随机数的方法和math函数详解
Apr 24 PHP
php实现计数器方法小结
Jan 05 PHP
解析WordPress中的post_class与get_post_class函数
Jan 04 PHP
Zend Framework分页类用法详解
Mar 22 PHP
php与python实现的线程池多线程爬虫功能示例
Oct 12 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判断GIF图片是否为动画的方法
2020/09/04 PHP
php微信公众平台开发类实例
2015/04/01 PHP
php中smarty变量修饰用法实例分析
2015/06/11 PHP
php简单判断文本编码的方法
2015/07/30 PHP
利用PHP如何实现Socket服务器
2015/09/23 PHP
自写简单JS判断是否已经弹出页面
2010/10/20 Javascript
JQuery插件iScroll实现下拉刷新,滚动翻页特效
2014/06/22 Javascript
Javascript基础教程之数据类型 (数值 Number)
2015/01/18 Javascript
js简单实现点击左右运动的方法
2015/04/10 Javascript
ionic由于使用了header和subheader导致被遮挡的问题的两种解决方法
2016/09/22 Javascript
jQuery EasyUI 组件加上“清除”功能实例详解
2017/04/11 jQuery
JavaScript设计模式之单例模式简单实例教程
2018/07/02 Javascript
浅谈微信JS-SDK 微信分享接口开发(介绍版)
2018/08/15 Javascript
分享5个好用的javascript文件上传插件
2018/09/16 Javascript
详解angular2 控制视图的封装模式
2018/12/27 Javascript
8个非常实用的Vue自定义指令
2020/12/15 Vue.js
Python删除指定目录下过期文件的2个脚本分享
2014/04/10 Python
python实现将元祖转换成数组的方法
2015/05/04 Python
解决python nohup linux 后台运行输出的问题
2018/05/11 Python
Python多进程与服务器并发原理及用法实例分析
2018/08/21 Python
Windows 64位下python3安装nltk模块
2018/09/19 Python
解决Python设置函数调用超时,进程卡住的问题
2019/08/08 Python
python word转pdf代码实例
2019/08/16 Python
python 实现在shell窗口中编写print不向屏幕输出
2020/02/19 Python
python使用turtle库绘制奥运五环
2020/02/24 Python
vue学习笔记之动态组件和v-once指令简单示例
2020/02/29 Python
西班牙汉普顿小姐:购买帆布鞋和太阳镜
2016/10/23 全球购物
联想美国官方商城:Lenovo美国
2017/06/19 全球购物
三星新西兰官网:Samsung新西兰
2019/03/05 全球购物
美国新娘礼品店:The Paisley Box
2020/09/08 全球购物
在SQL Server中创建数据库主要有那种方式
2013/09/10 面试题
公司周年庆活动方案
2014/08/25 职场文书
幼师必备:幼儿园期末教师评语50条
2019/11/01 职场文书
导游词之无锡东林书院
2019/12/11 职场文书
nginx处理http请求实现过程解析
2021/03/31 Servers
Apache自带的ab压力测试工具的实现
2022/07/23 Servers