狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

ASP下載系統(tǒng)防盜鏈三種方法

admin
2010年6月27日 17:29 本文熱度 6413

[p]第一方法[/p]
[p] 兩個(gè)文件,第一個(gè)文件(例子中的index.asp)負(fù)責(zé)產(chǎn)生隨機(jī)的下載鏈接,并將密匙寫入cookie;第二個(gè)文件(例子中的download.asp)根據(jù)cookie找到實(shí)際下載地址,然后使用response.addheader和server.transfer來重定向地址。為什么不使用response.redirect呢?是因?yàn)閞esponse.redirect是在客戶端的重定向。如果使用response.redirect,那么真實(shí)的下載地址還是傳給了客戶端,這樣防盜鏈的作用就小了很多,用myie等等瀏覽器或工具都可以輕易的獲得真實(shí)下載地址。而iis5.0中提供的server.transfer是服務(wù)器端的重定向,與客戶端無關(guān),這樣客戶端就無法獲得真實(shí)的下載地址。[/p]
[p]  下面是id為1的下載文件ttt.exe的防盜鏈?zhǔn)纠绦颍唧w內(nèi)容如下:[/p]
[p]<!---------------index.asp----------------->[br]<%response.buffer = true%>[br]<html>[br]<head>[br]</head>[br]<body>[br]<%[br]response.write "下載地址:<br><br>"[br]randomize[br]x = int(rnd()*1000)[br]response.write "<a href='download.asp?id=" & 1*x & "'>ttt.exe</a>"[br]'這里只是簡(jiǎn)單的運(yùn)算,呵呵,這已經(jīng)足夠了。[br]response.cookies("secret") = x[br]%>[br]</body>[br]</html>[/p]
[p]<!---------------download.asp----------------->[br]<%[br]response.buffer = true[br]if request.cookies("secret") = "" then response.end[br]if not isnumeric(request.cookies("secret")) then response.end[br]'這里對(duì)傳遞過來的值沒有多加判斷,只是為了節(jié)省篇幅[br]secret = clng(request.cookies("secret"))[br]id = clng(request.querystring("id"))[br]if id/secret = 1 then[br] response.addheader "content-type","application/x-msdownload"[br] response.addheader "content-disposition","attachment;filename=ttt.exe"[br]server.transfer "ttt.exe"[br]else[br]response.write "error!"[br]end if[br]%>[/p]
[p][br]第二方法[br]打開文件 softdown.asp 在: [br]if request.querystring("id")="" then [br]response.write "不能連接或者沒有指定下載軟件" [br]response.end [br]end if [br]的上面或者是下面加上下列代碼[/p]
[p][br]dim strreferer,domain,spldomain,ishttp [br]ishttp=false[/p]
[p]本站下載cn-media.com/i-v/index.shtm>系統(tǒng)網(wǎng)址列表,不要帶上http:// [br]domain="sron.net,61.156.14.223,61.156.14.227"[/p]
[p]spldomain=split(domain,",") [br]strreferer=request.servervariables("http_referer") [br]for iii = 0 to ubound(spldomain) [br]if instr(strreferer,trim(spldomain(iii)))>0 then ishttp=true [br]next [br]if isnull(strreferer) or ishttp=false then [br]response.write "下載鏈接來自其他網(wǎng)站,這是不允許的,<a href=""./"">請(qǐng)進(jìn)入本站頁(yè)面后再進(jìn)行下載。</a>" [br]closedatabase [br]response.end [br]end if[/p]
[p]本站下載cn-media.com/i-v/index.shtm>系統(tǒng)網(wǎng)址列表 就是訪問你下載頻道網(wǎng)址里的域名,比如你的下載頻道可以用多個(gè)網(wǎng)址來訪問,所以這里用逗號(hào)隔開.[/p]
[p]當(dāng)然這里的防盜鏈只是相對(duì)的,只要知道了軟件存放地址,防盜鏈就不管用了. [/p]
[p]第三方法[/p]
[p]用asp實(shí)現(xiàn)防盜鏈技術(shù)(帶自動(dòng)返回功能)[/p]
[p]源文件代碼:[br]------------------------------------------------------------------------------------------------------------------------[br]<%[br]from_url = cstr(request.servervariables("http_referer"))[br]serv_url = cstr(request.servervariables("server_name"))[br]if mid(from_url,8,len(serv_url)) <> serv_url then[br]response.write "<b>非法鏈接!<br><span id=yu>3</span><a href=javascript:countdown></a>秒鐘后cn-media.com/i-v/index.shtm>系統(tǒng)將自動(dòng)返回首頁(yè)......</b>"[br]response.write "<meta http-equiv=refresh content=3;url=index.asp>"[br]response.write "<script>valignbottom()</script>"[br]response.write "<script>function countdown(secs){yu.innertext=secs;if(--secs>0)settimeout('countdown('+secs+')',1000);}countdown(3);</script>"[br]response.end[br]end if[/p]
function getfilename(longname)'/folder1/folder2/file.asp=>file.asp[br]while instr(longname,"/")[br]longname = right(longname,len(longname)-1)[br]wend[br]getfilename = longname[br]end function[br]dim stream[br]dim contents[br]dim filename[br]dim truefilename[br]dim fileext[br]const adtypebinary = 1[br]filename = request.querystring("filename")[br]if filename = "" then[br]response.write "無效文件名!"[br]response.end[br]end if[br]fileext = mid(filename, instrrev(filename, ".") + 1)[br]select case ucase(fileext)[br]case "asp", "asa", "aspx", "asax", "mdb"[br] response.write "非法操作!"[br] response.end[br]end select[br]response.clear[br]response.addheader "content-disposition", "attachment; filename=" & getfilename(request.querystring("filename"))[br]set stream = server.createobject("adodb.stream")[br]stream.type = adtypebinary[br]stream.open[br]if lcase(right(filename,3))="rar" then '設(shè)置文件類型[br]truefilename = "/files/"&filename '設(shè)置文件目錄的相對(duì)路徑[br]end if [br]stream.loadfromfile server.mappath(truefilename)[br]while not stream.eos[br]response.binarywrite stream.read(1024 * 64)[br]wend[br]stream.close[br]set stream = nothing[br]response.flush[br]response.end[br]%>

該文章在 2010/6/27 17:29:39 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved