Код из Интернета был немного изменен, и класс кэша фактически используется. Полем
Сохранить код как, например, pic.asp
Использование: http://www.xxx.com/pic.asp?url=http://www.aaaa.com/log.gif
Не только 163, но и много изображений против кражи можно реализовать.
<%
'Суждение о краже связей
'Ifinstr (request.servervariables ("http_referer"), "http: //" & request.servervariables ("server_name") & "") = 0Then
'Response.write "незаконная ссылка"
'Response.end
'Endif
Dimurl, Body, MyCache
url = request.querystring ("url")
SetMycache = newCache
mycache.name = "picindex" & url
Ifmycache.validthen
body = mycache.value
Еще
тело = getWebData (URL)
mycache.addbody, dateadd ("D", 1, сейчас)
Эндиф
Iferr.number = 0then
Response.charset = "UTF-8"
Response.contenttype = "Приложение/октябрь-транс"
Response.binarywritebody
Response.flush
Еще
Wscript.echoerr.description
Эндиф
'Получите данные
Publicfunctiongetwebdata (byvalstrurl)
Dimcurlpath
curlpath = mid (strurl, 1, instr (8, strurl, "/"))
Dimretrieval
SetRetrieval = server.createObject ("microsoft.xmlhttp")
Безрельтивел
.Open "Get", Strurl, False, "", ""
.SetRequestheader "Рефера", Curlpath
.Отправлять
GetWebData = .ResponseBody
Энд
Setretrieval = ничего
Конечная функция
'Класс Кэш
ClassCache
PrivateObj'Cache Content
PrivateExpireTime'Expiration время
PrivateExpireTimEname'Expiration Time Имя приложения
PrivateCachEname'cache Content ame Имя приложения
privatePath'url
privatesubclass_initialize ()
path = request.servervariables ("url")
path = left (path, instrrev (path, "/"))
заканчивая
privatesubclass_mterminate ()
заканчивая
publicpropertygetblempty
'Это пусто
ifsempty (obj) тогда
blempty = true
еще
Blempty = false
эндиф
EndProperty
publicpropertygetvalid
'Доступно ли это (истек)
ifsempty (obj) ornotisdate (expiration -time) тогда
vaility = false
elseifcdate (expitreTime) <nowwhen
vaility = false
еще
достоверно = true
эндиф