• asp破解(百度,网易,新浪,搜狐,QQ空间)图片防盗链代码


    以下是一个ASP版的破解图片防盗链的页面代码,使用方法和JSP版本一样,都是另存改页面

    利用的时候就用这样的格式就可以了,该版 本比JSP版本多了一些功能,主要是用于防范别人使用该页面用于自己的站,具体参数可以自己琢磨下

    http://你的url地址/文件名.jsp?url=你要破解的图片防盗链地址

    <%
    '盗链判断
    If Instr(Request.ServerVariables("http_referer"),"http://"&Request.ServerVariables("server_name")&"") = 0 Then
    Response.Write "非法链接"
    Response.End
    End If

    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
    %>

  • 相关阅读:
    Lintcode: Two Strings Are Anagrams
    Leetcode: House Robber
    Leetcode: Binary Tree Right Side View
    Leetcode: Number of Islands
    Lintcode: Subarray Sum
    Lintcode: Sort Letters by Case
    Lintcode: Sort Colors II
    Lintcode: Single Number III
    Lintcode: Search Range in Binary Search Tree
    Lintcode: Binary Tree Serialization (Serialization and Deserialization Of Binary Tree)
  • 原文地址:https://www.cnblogs.com/y0umer/p/3839525.html
Copyright © 2020-2023  润新知