国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

ASP教程,ASP實現(xiàn)防盜鏈的方法

2024-05-04 11:09:48
字體:
供稿:網(wǎng)友

ASP防盜鏈對于廣告做網(wǎng)站的朋友來說一直是個頭疼的問題,盜鏈嚴重影響了服務器及網(wǎng)站的正常運行,放盜鏈變的十分需要了,今天一起來看看一個ASP防盜鏈的實現(xiàn)方法吧。

如果我們知道一個靜態(tài)文件的實際路徑如:http://www.xx.com/download/webjx.pdf,如果服務器沒有作特別的限制設置,我們就可以毫不費力的把它下載下來!當網(wǎng)站提供webjx.pdf下載時,怎么樣才能讓下載者無法得到他的實際路徑呢!本文就來介紹如何使用Asp來隱藏文件的實際下載路徑。

  我們在管理網(wǎng)站文件時,可以把擴展名一樣的文件放在同一個目錄下,起一個比較特別名字,例如放pdf文件目錄為the_pdf_file_s,把下面代碼另存為down.asp,他的網(wǎng)上路徑為http://www.xx.com/down.asp,我們就可以用http://www.xx.com/down.asp?FileName=webjx.pdf來下載這個文件了,而且下載者無法看到這個文件實際下載路徑的!在down.asp中我們還可以設置下載文件是否需要登陸,判斷下載的來源頁是否為外部網(wǎng)站,從而可以做到防止文件被盜鏈。

 

<% 
From_url = Cstr(Request.ServerVariables("HTTP_REFERER")) 
Serv_url = Cstr(Request.ServerVariables("SERVER_NAME")) 
if mid(From_url,8,len(Serv_url)) <> Serv_url then 
response.write "非法鏈接!" ''防止盜鏈 
response.end
end if
if Request.Cookies("Logined")="" then 
response.redirect "/login.asp" ''需要登陸! 
end if 
Function GetFileName(longname)''/folder1/folder2/file.asp=>file.asp 
while instr(longname,"/") 
longname = right(longname,len(longname)-1) 
wend 
GetFileName = longname 
End Function 
Dim Stream 
Dim Contents 
Dim FileName 
Dim TrueFileName 
Dim FileExt 
Const adTypeBinary = 1 
FileName = Request.QueryString("FileName") 
if FileName = "" Then 
Response.Write "無效文件名!" 
Response.End 
End if 
FileExt = Mid(FileName, InStrRev(FileName, ".") + 1) 
select Case UCase(FileExt) 
Case "ASP", "ASA", "ASPX", "ASAX", "MDB" 
Response.Write "非法操作!" 
Response.End 
End select 
Response.Clear 
if lcase(right(FileName,3))="gif" or lcase(right(FileName,3))="jpg" or lcase(right(FileName,3))="png" then 
Response.ContentType = "image/*" ''對圖像文件不出現(xiàn)下載對話框 
else 
Response.ContentType = "application/ms-download" 
end if 
Response.AddHeader "content-disposition", "attachment; filename=" & GetFileName(Request.QueryString("FileName")) 
Set Stream = server.createObject("ADODB.Stream") 
Stream.Type = adTypeBinary 
Stream.Open 
if lcase(right(FileName,3))="pdf" then ''設置pdf類型文件目錄 
TrueFileName = "/the_pdf_file_s/"&FileName 
end if 
if lcase(right(FileName,3))="doc" then ''設置DOC類型文件目錄 
TrueFileName = "/my_D_O_C_file/"&FileName 
end if 
if lcase(right(FileName,3))="gif" or lcase(right(FileName,3))="jpg" or lcase(right(FileName,3))="png" then 
TrueFileName = "/all_images_/"&FileName ''設置圖像文件目錄 
end if 
Stream.LoadFromFile Server.MapPath(TrueFileName) 
While Not Stream.EOS 
Response.BinaryWrite Stream.Read(1024 * 64) 
Wend 
Stream.Close 
Set Stream = Nothing 
Response.Flush 
Response.End 
%>

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 固镇县| 鄂托克旗| 赞皇县| 大田县| 建瓯市| 永城市| 项城市| 阿克苏市| 卓资县| 夏邑县| 沂水县| 玉环县| 资溪县| 开江县| 文山县| 若尔盖县| 新疆| 连江县| 新泰市| 溧阳市| 临汾市| 青神县| 虎林市| 仲巴县| 彭山县| 独山县| 土默特左旗| 竹山县| 阳信县| 叙永县| 苗栗县| 阳城县| 塔河县| 汾西县| 汶川县| 咸宁市| 诸暨市| 罗城| 门源| 达拉特旗| 垦利县|