主题:  如何不让自己的下载地址,不被他人用到他人网页上?

jujishou

职务:普通成员
等级:1
金币:0.0
发贴:55
注册:2002/9/27 21:33:02
#12002/11/2 11:11:33
如何不让自己的下载地址,不被他人用到他人网页上?
这个问题很重要,别人老是把我的下载东西,当作自己的来用火死了
在UD里能直接解决吗?



5D荣誉斑竹

职务:普通成员
等级:2
金币:10.0
发贴:710
注册:2001/10/24 18:34:42
#22002/11/2 11:48:52
首先,这个问题必须手写代码才能解决。
做一个单独的下载页,比如是down.asp,在该页中判断前一页(也就是提交过来的那一页)的地址和网站地址是否是一个站点的。大概的语句可以是:
if not instr(1,Request.ServerVariables("http_Referer"),Request.ServerVariables ("SERVER_NAME"),1)=8 then
  Response.Write "提交的数据来自另一个网站"
  Response.end
else
  Response.Redirect "这里输出真实的下载地址"
end if


关于“这里输出真实的下载地址”,可以是从前一页提交一个参数,而down.asp页中从数据库中提取出来



我佛山人

职务:版主
等级:4
金币:16.0
发贴:2269
注册:2002/8/7 15:09:27
#32002/11/2 11:58:31
试试用Request.ServerVariables("HTTP_Referer")判断下载者来路,外站来的一律不准下载



jujishou

职务:普通成员
等级:1
金币:0.0
发贴:55
注册:2002/9/27 21:33:02
#42002/11/2 13:32:24
真的不可以用UD解决吗?
好象在输出格式上可以设置??
版主可以吗?



jujishou

职务:普通成员
等级:1
金币:0.0
发贴:55
注册:2002/9/27 21:33:02
#52002/11/2 14:11:31
我不太理解版主写的if-else-语句内容.
可不可以解释一下??



我佛山人

职务:版主
等级:4
金币:16.0
发贴:2269
注册:2002/8/7 15:09:27
#62002/11/2 14:58:53
主要是InStr 函数:
InStr([start, ]string1, string2[, compare])
InStr 函数的语法有以下参数:

参数 描述
start 可选。数值表达式,用于设置每次搜索的开始位置。如果省略,将从第一个字符的位置开始搜索。如果 start 包含 Null,则会出现错误。如果已指定 compare,则必须要有 start 参数。
string1 必选。接受搜索的字符串表达式。
string2 必选。要搜索的字符串表达式。
compare 可选。指示在计算子字符串时使用的比较类型的数值。有关数值,请参阅“设置”部分。如果省略,将执行二进制比较。


设置
compare 参数可以有以下值:
常数 值 描述
vbBinaryCompare 0 执行二进制比较。
vbTextCompare 1 执行文本比较。



jujishou

职务:普通成员
等级:1
金币:0.0
发贴:55
注册:2002/9/27 21:33:02
#72002/11/3 13:17:47
InStr 函数主要是什么用途的呢?



5D荣誉斑竹

职务:普通成员
等级:2
金币:10.0
发贴:710
注册:2001/10/24 18:34:42
#82002/11/3 16:32:03
字符串比较啊,我佛山人不是解释的很清楚了吗



jujishou

职务:普通成员
等级:1
金币:0.0
发贴:55
注册:2002/9/27 21:33:02
#92002/11/6 12:59:48
if not instr(1,Request.ServerVariables("http_Referer"),Request.ServerVariables ("SERVER_NAME"),1)=8 then
里的1是什么意思?我看了书
instr(str1,str2)怎么里面还有1怎么回事?
版主啊,我不是很清楚,有什么作用的?



jujishou

职务:普通成员
等级:1
金币:0.0
发贴:55
注册:2002/9/27 21:33:02
#102002/11/6 13:32:01
比如我放的实际下载地址是www.xxx.com/01.mp3
如果对方直接利用这个地址下载我的文件还不是一样的啊?
用down.asp来判断也没用啊?