zoukankan      html  css  js  c++  java
  • 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
    %>

  • 相关阅读:
    oracle中Blob和Clob类型的区别
    为什么要分库分表
    Enable file editing in Visual Studio's debug mode
    SQL Server Dead Lock Log
    Debug .NET Framework Source
    SQL Server text field里面有换行符的时候copy到excel数据会散乱
    诊断和修复Web测试记录器(Web Test Recorder)问题
    Can't load Microsoft.ReportViewer.ProcessingObjectModel.dll
    'telnet' is not recognized as an internal or external command
    Linq to XML
  • 原文地址:https://www.cnblogs.com/y0umer/p/3839525.html
Copyright © 2011-2022 走看看