Kode dari internet telah sedikit dimodifikasi, dan kelas cache sebenarnya digunakan. .
Simpan kode sebagai, misalnya, pic.asp
Gunakan: http://www.xxx.com/pic.asp?url=http://www.aaaa.com/log.gif
Tidak hanya 163, tetapi juga banyak gambar anti-pencurian dapat direalisasikan.
<%
'Penilaian Pencurian Tautan
'Ifinstr (request.serverVariable ("http_referer"), "http: //" & request.serverVariable ("server_name") & "") = 0then
'Response.write "Link ilegal"
'Response.end
'Endif
Dimurl, tubuh, mycache
url = request.querystring ("url")
SetMyCache = newcache
mycache.name = "picindex" & url
Ifmycache.validthen
body = mycache.value
Kalau tidak
tubuh = getWebData (url)
mycache.addbody, dateadd ("d", 1, sekarang)
Endif
Iferr.number = 0then
Response.charset = "UTF-8"
Response.contentType = "Aplikasi/Octet-Stream"
Response.binarywriteBody
Response.flush
Kalau tidak
Wscript.echoerr.description
Endif
'Dapatkan data
PublicFunctionGetWebData (BYVALSTRURL)
Dimcurlpath
Curlpath = Mid (Strurl, 1, Instr (8, Strurl, "/"))
Dimretrieval
SetRetrieval = server.createObject ("microsoft.xmlhttp")
Tanpa retrieval
.Open "get", strurl, false, "", "" "
.setRequestheader "referer", Curlpath
.Mengirim
GetWebData = .ResponseBody
Endwith
SetRetrieval = tidak ada
Fungsi endfungsi
'Kelas cache
ClassCache
Konten privateObj'cache
Waktu Ekspirasi PrivateExpiretime
Nama Aplikasi Waktu PrivateExpiretimename'Expiration
nama aplikasi konten privatecachename'cache
PrivatePath'url
privatesubclass_initialize ()
path = request.serverVariable ("url")
path = kiri (path, instrrev (path, "/"))
endsub
privatesubclass_terminate ()
endsub
PublicPropertyGetBlempty
'Apakah itu kosong
ifsempty (obj) lalu
blempty = true
kalau tidak
blempty = false
endif
Endproperty
PublicPropertyGetValid
'Apakah itu tersedia (kedaluwarsa)
ifsempty (obj) ornotisdate (kedaluwarsa) kemudian
valid = false
elseifcdate (kedaluwarsa) <nowthen
valid = false
kalau tidak
valid = true
endif