asp下載防盜鏈代碼
更新時(shí)間:2006年11月16日 00:00:00 作者:
asp下載防盜鏈代碼
第一種:
終于對(duì)下載系統(tǒng)做了個(gè)防盜鏈措施,在下載的頁(yè)面頭部做了如下代碼,相關(guān)代碼如下:
第二種:
(1)下面的示例將 ContentType 屬性設(shè)置為其他的常見(jiàn)值。
text/HTML 這個(gè)就不說(shuō)了
image/GIF gif圖片
image/JPEG jpg圖片
application/x-cdf cdf文檔
application/wma 就是西瓜哪個(gè)音樂(lè)類(lèi)型了
具體可以參照 Web 瀏覽器文檔或當(dāng)前的 HTTP 規(guī)格說(shuō)明
這樣再利用asp的儲(chǔ)存session,cookies,以及讀取HTTP頭等特殊功能就可以完全真正的實(shí)現(xiàn)防盜連,這里
沒(méi)有設(shè)置緩存,如果訪問(wèn)量巨大,我想設(shè)置下就會(huì)更好吧。
第三種:
最簡(jiǎn)單的用Active Server Pages防站外提交表單、跨站提交表單、防盜鏈……
方法:Request.SeverVariables("HTTP_REFERER")
解釋?zhuān)寒?dāng)某人通過(guò)鏈接到達(dá)當(dāng)前頁(yè),HTTP_REFERER 就保存了這個(gè)用戶的來(lái)源(來(lái)路)
舉個(gè)例子,這個(gè)例子很簡(jiǎn)單,只是拋磚引玉而已,大家可以增加更多的功能。
如下,只有首先從“ http://www.ITstudy.cn”登陸才能看到文件內(nèi)容。
源碼:index.asp
該方法對(duì)防止盜鏈文章、站外提交表單、跨站提交表單還比較有效,對(duì)于軟件盜鏈比如.rar.zip.exe等倒沒(méi)什么作用。
不知各位讀者是否有好的主意,呵呵。
還有一種方法就是用判斷服務(wù)器及上一頁(yè)的地址來(lái)完成。
第一種:
終于對(duì)下載系統(tǒng)做了個(gè)防盜鏈措施,在下載的頁(yè)面頭部做了如下代碼,相關(guān)代碼如下:
復(fù)制代碼 代碼如下:
<%
From_url = Cstr(Request.ServerVariables("HTTP_REFERER"))
Serv_url = Cstr(Request.ServerVariables("SERVER_NAME"))
if mid(From_url,8,len(Serv_url)) <> Serv_url and mid(From_url,8,len(Serv_url))<>"ITstudy.cn" and mid(From_url,8,len(Serv_url))<>"www.ITstudy.cn" then
response.write "您下載的軟件來(lái)自IT學(xué)習(xí)網(wǎng),請(qǐng)直接從主頁(yè)下載,謝謝<br>" '防止盜鏈
response.write "<a href=http://www.ITstudy.cn>IT學(xué)習(xí)網(wǎng)http://www.ITstudy.cn</a>" '防止盜鏈
response.end
end if
%>
From_url = Cstr(Request.ServerVariables("HTTP_REFERER"))
Serv_url = Cstr(Request.ServerVariables("SERVER_NAME"))
if mid(From_url,8,len(Serv_url)) <> Serv_url and mid(From_url,8,len(Serv_url))<>"ITstudy.cn" and mid(From_url,8,len(Serv_url))<>"www.ITstudy.cn" then
response.write "您下載的軟件來(lái)自IT學(xué)習(xí)網(wǎng),請(qǐng)直接從主頁(yè)下載,謝謝<br>" '防止盜鏈
response.write "<a href=http://www.ITstudy.cn>IT學(xué)習(xí)網(wǎng)http://www.ITstudy.cn</a>" '防止盜鏈
response.end
end if
%>
第二種:
復(fù)制代碼 代碼如下:
<%
'定義函數(shù),用ADODB.Stream讀取二進(jìn)制數(shù)據(jù)
Function ReadBinaryFile(FileName)
Const adTypeBinary = 1
Dim BinaryStream
Set BinaryStream = CreateObject("ADODB.Stream")
BinaryStream.Type = adTypeBinary
BinaryStream.Open
BinaryStream.LoadFromFile FileName
ReadBinaryFile = BinaryStream.Read
End Function
Response.AddHeader "Content-Disposition", "attachment;filename=2.gif"'文件名
Response.ContentType = "image/GIF" '設(shè)置(1)
response.Binarywrite ReadBinaryFile(server.mappath("2.gif"))'就是你讀取存在本地的文件,防止被
別人知道真實(shí)路徑盜連的。
%>
'定義函數(shù),用ADODB.Stream讀取二進(jìn)制數(shù)據(jù)
Function ReadBinaryFile(FileName)
Const adTypeBinary = 1
Dim BinaryStream
Set BinaryStream = CreateObject("ADODB.Stream")
BinaryStream.Type = adTypeBinary
BinaryStream.Open
BinaryStream.LoadFromFile FileName
ReadBinaryFile = BinaryStream.Read
End Function
Response.AddHeader "Content-Disposition", "attachment;filename=2.gif"'文件名
Response.ContentType = "image/GIF" '設(shè)置(1)
response.Binarywrite ReadBinaryFile(server.mappath("2.gif"))'就是你讀取存在本地的文件,防止被
別人知道真實(shí)路徑盜連的。
%>
(1)下面的示例將 ContentType 屬性設(shè)置為其他的常見(jiàn)值。
text/HTML 這個(gè)就不說(shuō)了
image/GIF gif圖片
image/JPEG jpg圖片
application/x-cdf cdf文檔
application/wma 就是西瓜哪個(gè)音樂(lè)類(lèi)型了
具體可以參照 Web 瀏覽器文檔或當(dāng)前的 HTTP 規(guī)格說(shuō)明
這樣再利用asp的儲(chǔ)存session,cookies,以及讀取HTTP頭等特殊功能就可以完全真正的實(shí)現(xiàn)防盜連,這里
沒(méi)有設(shè)置緩存,如果訪問(wèn)量巨大,我想設(shè)置下就會(huì)更好吧。
第三種:
最簡(jiǎn)單的用Active Server Pages防站外提交表單、跨站提交表單、防盜鏈……
方法:Request.SeverVariables("HTTP_REFERER")
解釋?zhuān)寒?dāng)某人通過(guò)鏈接到達(dá)當(dāng)前頁(yè),HTTP_REFERER 就保存了這個(gè)用戶的來(lái)源(來(lái)路)
舉個(gè)例子,這個(gè)例子很簡(jiǎn)單,只是拋磚引玉而已,大家可以增加更多的功能。
如下,只有首先從“ http://www.ITstudy.cn”登陸才能看到文件內(nèi)容。
源碼:index.asp
復(fù)制代碼 代碼如下:
<html>
<head><title>最簡(jiǎn)單的用asp防盜鏈</title></head>
<body>
<%
Option.Explicit
Response.Buffer=Ture
%>
<%
CheckUrl("http://ITstudy.cn/index.jsp")
%>
<%
Function CheckUrl(url)
Dim Where:Where=Request.SeverVariables("HTTP_REFERER")
If Where=url Then
Call main()
Else
Response.write("很抱歉,您必須從"&url&"訪問(wèn)才能進(jìn)來(lái)!")
End if
End Function
%>
<%
Sub main()
Response.write("這兒是你要顯示的網(wǎng)頁(yè)內(nèi)容")
End sub
%>
</body>
</html>
<head><title>最簡(jiǎn)單的用asp防盜鏈</title></head>
<body>
<%
Option.Explicit
Response.Buffer=Ture
%>
<%
CheckUrl("http://ITstudy.cn/index.jsp")
%>
<%
Function CheckUrl(url)
Dim Where:Where=Request.SeverVariables("HTTP_REFERER")
If Where=url Then
Call main()
Else
Response.write("很抱歉,您必須從"&url&"訪問(wèn)才能進(jìn)來(lái)!")
End if
End Function
%>
<%
Sub main()
Response.write("這兒是你要顯示的網(wǎng)頁(yè)內(nèi)容")
End sub
%>
</body>
</html>
該方法對(duì)防止盜鏈文章、站外提交表單、跨站提交表單還比較有效,對(duì)于軟件盜鏈比如.rar.zip.exe等倒沒(méi)什么作用。
不知各位讀者是否有好的主意,呵呵。
還有一種方法就是用判斷服務(wù)器及上一頁(yè)的地址來(lái)完成。
復(fù)制代碼 代碼如下:
<%
dim from, local
from = request.ServerVariables("HTTP_REFERER")
local = request.ServerVariables("SERVER_NAME")
If mid(from, 8, local)<>Len(local) Then
response.write "不要從外部提交數(shù)據(jù)"
else
call main()
end if
sub main()
'你的主體內(nèi)容
end sub
%>
dim from, local
from = request.ServerVariables("HTTP_REFERER")
local = request.ServerVariables("SERVER_NAME")
If mid(from, 8, local)<>Len(local) Then
response.write "不要從外部提交數(shù)據(jù)"
else
call main()
end if
sub main()
'你的主體內(nèi)容
end sub
%>
相關(guān)文章
ASP無(wú)組件分頁(yè)實(shí)現(xiàn)思路及代碼
無(wú)組件分頁(yè)不可思議吧,看一看本文的效果就知道了,下面與大家分享下具體的實(shí)現(xiàn),感興趣的朋友可以參考下哈2013-05-05
Microsoft VBScript 編譯器錯(cuò)誤 錯(cuò)誤原因 代碼大全
這篇文章主要介紹了Microsoft VBScript 編譯器錯(cuò)誤 錯(cuò)誤原因 代碼大全,需要的朋友可以參考下2015-07-07
set rs=conn.execute,set rs=server.createobject(“ADODB.record
這篇文章主要介紹了set rs=conn.execute,set rs=server.createobject(“ADODB.recordset”)的性能對(duì)比,看了這篇文章收獲滿滿,那我們的代碼可以優(yōu)化一下了,需要的朋友可以參考下2020-08-08
.NET中的6種定時(shí)器的基本用法和特點(diǎn)
.NET中至少有6種定時(shí)器,每一種定時(shí)器都有它的用途和特點(diǎn),根據(jù)定時(shí)器的應(yīng)用場(chǎng)景,可以分為UI相關(guān)的定時(shí)器和UI無(wú)關(guān)的定時(shí)器,本文將簡(jiǎn)單介紹這6種定時(shí)器的基本用法和特點(diǎn),感興趣的朋友一起看看吧2023-12-12

