Der Code aus dem Internet wurde leicht geändert und die Cache -Klasse wird tatsächlich verwendet. .
Speichern Sie den Code beispielsweise als pic.asp
Verwendung: http://www.xxx.com/pic.asp?url=http://www.aaaaa.com/log.gif
Nicht nur 163, sondern auch viele Bilder von Anti-Diebstahl können realisiert werden.
<%
'Urteil über Diebstahl von Verbindungen
'IfInStr (request.servervariables ("http_referer"), "http: //" & request.servervariables ("server_name") & "") = 0Then
'Antwort.Write "illegaler Link"
'Response.end
'Endif
Dimurl, Körper, Mykache
url = request.queryString ("url")
SetMycache = newcache
mycache.name = "picIndex" & url
Ifmycache.validthen
Body = Mycache.Value
Anders
Body = GetWebdata (URL)
mycache.addbody, dateadd ("D", 1, jetzt)
Endif
Ifer.number = 0Then
Response.charset = "utf-8"
Antwort.ContentType = "Anwendung/Oktett-Stream"
Antwort.BinaryWriteBody
Antwort.Flush
Anders
Wscript.Echoerr.Description
Endif
'Daten abrufen
PublicFunctionGetwebdata (Byvalstrurl)
DimcurlPath
CurlPath = MID (STRURL, 1, INSTR (8, STRURL, "/"))
DiMretrieval
SetRevalal = server.createObject ("microsoft.xmlhttp"))
Withrieval
.Open "GET", STRURL, FALSE "," "," "
.setRequestheader "Referer", CurlPath
.Schicken
GetWebdata = .ResponseBody
Endwith
SetReval = nichts
Endfunktion
'Cache -Klasse
Klassiker
privatobj'cache Inhalt
privatexpiretime'expirationszeit
privatexpiretimename'expirationszeit Anwendungsname
privateCacheName'cache Inhaltsanwendungsname
Privatpath'url
privateSubclass_initialize ()
Path = Request.Servervariables ("URL")
Pfad = links (Pfad, Instrument (Pfad, "/"))
Ende
privateSubclass_terminate ()
Ende
publicPropertygetBlempty
'Ist es leer?
ifSeMpty (obj) dann
Blempty = true
anders
Blempty = false
Endif
Endproperschaft
PublicPropertygetValid
'Ob es verfügbar ist (abgelaufen)
ifSeMpty (obj) ornotisdate (Verfallszeit) dann
gültig = false
ElseifcDate (Verfallszeit) <NowThen
gültig = false
anders
gültig = true
Endif