รหัสจากอินเทอร์เน็ตได้รับการแก้ไขเล็กน้อยและใช้คลาสแคชจริง ๆ -
บันทึกรหัสเป็นตัวอย่างเช่น 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") & "") = 0 แล้ว
'response.write "ลิงก์ที่ผิดกฎหมาย"
'response.end
'endif
dimurl, body, mycache
url = request.querystring ("url")
setMyCache = newCache
myCache.name = "picindex" & url
ifmycache.validthen
body = mycache.value
อื่น
Body = getWebData (URL)
mycache.addbody, dateadd ("d", 1, ตอนนี้)
endif
iferr.number = 0 แล้ว
Response.charset = "UTF-8"
Response.contentType = "แอปพลิเคชัน/อ็อกเท็ต-สตรีม"
Response.binaryWritebody
Response.flush
อื่น
wscript.echoerr.description
endif
'รับข้อมูล
PublicFunctionGetWebData (byvalStrurl)
dimcurlpath
curlpath = mid (strurl, 1, instr (8, strurl, "/"))
เกี่ยวกับสิ่งมีชีวิต
setRetrieval = server.createObject ("microsoft.xmlhttp"))
เกี่ยวกับการแก้ไข
.Open "get", strurl, false, "", ""
.SetRequestheader "ผู้อ้างอิง", curlpath
.ส่ง
getWebData = .ResponseBody
จบลงด้วย
setRetrieval = ไม่มีอะไร
endfunction
'คลาสแคช
classcache
เนื้อหาส่วนตัว
เวลาส่วนตัว
ชื่อแอปพลิเคชัน PrivateExpireTimename'expiration Time
Privatecachename'Cache ชื่อแอปพลิเคชันเนื้อหา
PrivatePath'url
Privatesubclass_initialize ()
path = request.serverVariables ("url")
PATH = ซ้าย (PATH, InstrEv (Path, "/"))
enddub
Privatesubclass_terminate ()
enddub
publicpropertygetblempty
'มันว่างเปล่า
Ifsempty (OBJ) แล้ว
BLEMPTY = TRUE
อื่น
BLEMPY = FALSE
endif
ปลายทาง
publicpropertygetValid
'ไม่ว่าจะพร้อมใช้งาน (หมดอายุ)
ifsempty (OBJ) หรือ NOTISDATE (หมดอายุ) จากนั้น
ถูกต้อง = เท็จ
elseifcdate (หมดอายุ) <Nowthen
ถูกต้อง = เท็จ
อื่น
ถูกต้อง = จริง
endif