1.實現原理
將顯示下載鏈接的ASP文件加一個Session變量EnableDown(用戶可自定義),只有當用戶打開下載網頁時才將它設為“enabled”,然後在下載鏈接對應的ASP文件裡檢驗EnableDown的值,若為“enabled”則允許下載,否則,給出錯誤提示。
2.操作步驟
設置顯示下載鏈接的網頁為“view.asp”,在此文件頂部加入以下代碼:
<%
Session("EnableDown")="enabled"
%>
設對應的下載鏈接為:
<a href="down.asp?id=1">本地下載</a>
在down.asp中檢驗代碼為:
<%
dim conn,rs,sql,Connstr,DBPath '定義變量
set conn=Server.CreateObject("ADODB.Connection") '創建鏈接對象
DBPath = Server.MapPath("software.mdb") '軟件下載鏈接Access表,表名software,設有兩字段id(自動增量)和downsrc(下載實際地址)。TW.WINgWIT.CoM
Connstr="DRIVER={Microsoft Access Driver (*.mdb)};DBQ="& DBPath '連接字符串
conn.open Connstr '打開鏈接
set rs=Server.CreateObject("ADODB.RecordSet") '創建記錄集
sql="select * from software where id=" & Request("id")
rs.open sql,conn,3,2 '查詢
if Session("EnableDown")="enabled" then
response.redirect rs("downsrc") '轉向正確下載地址
else
response.write "您下載的鏈接不是來自本網,請到www.***.com網站下載"
response.write "<meta http-equiv='refresh' content='2;url=http://www.***.com'>"
'設正確軟件下載網站為www.***.com
end if
rs.close '關閉記錄集
conn.close '關閉連接
set rs=nothing '釋放資源
set conn=nothing
%>
小結
此方法使用了Session變量,當從別的網站下載此鏈接時,Session("EnableDown")為空,會自動轉到下載首頁,不會下載對應的軟件,這在一定程度上可以防止盜用鏈接。
以上代碼在Win2000+IIS5和Win2003+IIS6下測試通過。
From:http://tw.wingwit.com/Article/Network/201309/4044.html