广

ASP编程

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    Asp实例代码:有效破解图片盗链的方法

    2018-04-03 22:13:03 次阅读 稿源:互联网
    零七广告

    【烈火建站学院文档】Asp实例代码:有效破解图片盗链代码,源代码如下:

    以下为引用的内容:
    <%
    ’破解图片盗链
    ’使用方法:tu.asp?url=
    ’tu.asp?url=http://hi.baidu.com/egergfdgregwe.jpg
    Dim url, body, myCache
    url = Request.QueryString("url")
    Set myCache = new cache
    myCache.name = "picindex"
    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
    %>

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七广告
    零七广告
    零七广告
    零七广告