关于下载文件必须要先登录的问题

imeyang 2006-06-23 07:27:53
在CSDN坛子里搜索了好久,大部分方法都是说用ADODB.Stream,但有两点问题要请教一下:
1、我在下载页里用了SESSION判断用户是否登录,用HTTP下载可以正常,但用FLASHGET等下载软件老是下载我的下载页文件:down.asp,下载下来的内容是“没有权限”;
2、服务器是2003的,用ADODB.Stream时超过4兆的文件无法下载了,还必须要修改MetaBase.xml文件才可,这样就加重了服务器负担;
加权限下载的系统就只能用ADODB.Stream来做吗?网上其它那些下载系统是如何实现的?我下载了几个系统看了一下也看不出个所以然来,希望高手来帮我讲解一下原理,先谢谢了!
...全文
374 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
aner 2006-06-30
  • 打赏
  • 举报
回复
关注
addwing 2006-06-29
  • 打赏
  • 举报
回复
关注。学习。帮你顶。。。。。。。。。。
imeyang 2006-06-27
  • 打赏
  • 举报
回复
boyd1985的说法我有点疑问:
比如在数据库字段中取到了一个下载路径,然后用Response.Redirect(下载路径)来下载,这样岂不是暴露出文件真实地址了?
cuixiping 2006-06-27
  • 打赏
  • 举报
回复
用 isapi 是最高效最彻底的,但是操作比较复杂。

搜 ISAPI_Rewrite 看看。
imeyang 2006-06-27
  • 打赏
  • 举报
回复
用之前一定要response.clear?
这是为什么?
slawdan 2006-06-27
  • 打赏
  • 举报
回复

那么改用server.transfer可否?
用之前一定要response.clear
postcode 2006-06-27
  • 打赏
  • 举报
回复
关注中~~~~
jspadmin 2006-06-27
  • 打赏
  • 举报
回复
iis加个插件。类似楼上说的,那样就可以将url地址转换成随机地址,每次下载都会变
addwing 2006-06-27
  • 打赏
  • 举报
回复
关注。。。帮你顶。。。。
竹林听雨2005 2006-06-24
  • 打赏
  • 举报
回复
比如有这样的思路:
将文件的路径存放在数据库表中的某个字段中,然后在下载做连接,比如都放在down.asp文件中,然后根据其传过来的ID值来操作相关的文件下载信息。

这样的好处:
能实现你的“下载必须登陆”的问题,你可以在down.asp里判断是否登陆了
piperzero 2006-06-23
  • 打赏
  • 举报
回复
guanzhu
imeyang 2006-06-23
  • 打赏
  • 举报
回复
存在数据库中确实是个方法,但就像二楼所说的,对数据库耗能太高
Glaer 2006-06-23
  • 打赏
  • 举报
回复
不要用session,session无法实现

解决思路如下:
1 随机文件名,上传文件时随机生成很长的文件名,这样一定程度上可以防止直接通过文件地址下载,优点时比较省资源,然后在下载页面进行判断

2 文件存在数据库中,但是对数据库友情较高,oracle比较适合

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧