分享你我的心得.
共乘一片美好网络.

ASP图片盗链程序源代码

本文只谈论技术问题,至于涉及到的道德等问题还需要各位自己去判断。

孙子兵法有云:知己知彼,百战不殆;
所以在我们要破解防盗链前就必须先了解一些相关的原理。

什么是盗链?
盗链是指将别人网站上的内容(如:图片、音乐、软件)地址链接到自己的网站上,从而达到免得占用自己网站空间和流量的目的。

什么是防(反)盗链?
防盗链是指通过技术手段来阻止他人盗链自身网站内容。

目前常见的防盗链方式一般为以下几种
 

  • 通过 Referer 判断访问来源来阻止盗链
     
  • 通过Cookie 判断来阻止盗链
     
  • 动态调用或读取文件
     
  • 动态改面文件地址来防盗链
     

目前大多数防盗链方法都是基于HTTP 标准协议中的字段记录Referer 来验证是否为盗链,这亦是本文所讲述的范围。

一般是这样判断盗链嘀
 

  1. FromUrl = Cstr(Request.ServerVariables("HTTP_REFERER"))     
  2. ServUrl = Cstr(Request.ServerVariables("SERVER_NAME"))     
  3. If Mid(FromUrl,8,Len(ServUrl)) <> ServUrl Then     
  4.     Response.Write "非法链接!" ‘防止盗链     
  5.     Response.End     
  6. End If  

知道了盾的本质,那么我们就可以轻易构造出矛来攻破它。
在这里我们只要伪造下来源就可以越过盾的防护,直指本体。

 

  1. Function GetData(ByVal strUrl)   
  2.     Dim strSource   
  3.     strSource = Mid(strUrl,1,Instr(8,strUrl,"/"))   
  4.     Dim objXml   
  5.     Set objXml = Server.CreateObject("Microsoft.XmlHttp")   
  6.     With objXml   
  7.         .Open "Get", strUrl, False""""  
  8.         .SetRequestHeader "Referer", strSource    ‘ 重要:突破防盗链,设定来源为目标域   
  9.         .Send   
  10.         GetData = .ResponseBody   
  11.     End With  
  12.     Set objXml = Nothing  
  13. End Function  

为了不让内容服务器负担过重,所以可以采用缓存方式将内容缓存在本地服务器,这样就不用每次都去重新获取远程服务器内容了。
这里采用将盗链的图片数据缓存到Application 里,当数据量过多时可能会造成占用过多服务器内存资源,所以在具体使用中,可以把数据存到数据库或文件系统中来减轻本地服务器压力。

下载网易相册,雅虎相册,百度空间,QQ空间图片引用服务,ASP图片盗链程序源代码:
纳米盘下载
联想数据布落格圈圈子共享下载
 

赞(0)
未经允许不得转载:小叶白龙博客 » ASP图片盗链程序源代码
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!