第一方法

       两个文件,第一个文件(例子中的index.asp)负责产生随机的
下载链接,并将密匙写入COOKIE;第二个文件(例子中的download.asp)根据COOKIE找到实际下载地址,然后使用Response.AddHeader和Server.Transfer来重定向地址。为什么不使用Response.Redirect呢?是因为Response.Redirect是在客户端的重定向。如果使用Response.Redirect,那么真实的下载地址还是传给了客户端,这样防盗链的作用就小了很多,用MYIE等等浏览器或工具都可以轻易的获得真实下载地址。而IIS5.0中提供的Server.Transfer是服务器端的重定向,与客户端无关,这样客户端就无法获得真实的下载地址。

  下面是ID为1的
下载文件TTT.EXE的防盗链示例程序,具体内容如下:

<!---------------index.asp----------------->
<%Response.Buffer = true%>
<HTML>
<HEAD>
</HEAD>
<BODY>
<%
Response.Write "
下载地址:<br><br>"
Randomize
x = int(rnd()*1000)
Response.Write "<a href='download.asp?id=" & 1*x & "'>ttt.exe</a>"
'这里只是简单的运算,呵呵,这已经足够了。
Response.Cookies("secret") = x
%>
</BODY>
</HTML>

<!---------------download.asp----------------->
<%
Response.Buffer = true
if Request.cookies("secret") = "" then Response.End
if not Isnumeric(request.cookies("secret")) then Response.End
'这里对传递过来的值没有多加判断,只是为了节省篇幅
secret = clng(Request.Cookies("secret"))
id = clng(Request.QueryString("id"))
if id/secret = 1 then
         Response.AddHeader "content-type","application/x-msdownload"
         Response.AddHeader "Content-Disposition","attachment;filename=ttt.exe"
Server.Transfer "ttt.exe"
else
Response.Write "Error!"
end if
%>


第二方法


打开文件 SoftDown.Asp 在:
if request.QueryString("ID")="" then
response.write "不能连接或者没有指定
下载软件"
response.end
end if
的上面或者是下面加上下列代码

dim strReferer,domain,splDomain,isHttp
isHttp=false

本站下载

标签:

中文字幕一精品亚洲无线相关的文章

随机推荐