防止下载问题:A用户只能下载A资料,B用户只能下载B资料,A不能下载B资料.

csdnhbgjh 2004-06-11 05:13:04
防止下载问题:A用户只能下载A资料,B用户只能下载B资料,A不能下载B资料.
SQL数据库.
怎样解决?每下载文件都有一个路径.不上传到库里.
...全文
101 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
arrowy 2004-06-12
  • 打赏
  • 举报
回复
up
野马 2004-06-11
  • 打赏
  • 举报
回复
专门 在用户的表里面设一个字段,存储权限,把权限用“,”分开。把每一个需要设置权限的咚咚(如果是类别就用类别的ID)一个权限“值”。修改时就把"权限值"数组 用","分成一个字符串保存。判断权限时判断 字符串内是否存在 该类别的全线就 OK 了。

判断时,可以把权限用“,”分成数组,然后判断值为需要的权限的值是否存在;
也可以用正则判断字符串是否存在该值("^A|[,A,]|A$","A")(我没有测试)。
这样就可以实现无数量限制的 权限 分配 和 管理
wanghr100 2004-06-11
  • 打赏
  • 举报
回复
数据库data.mdb
download表
id 自动编号
userid 文本
filepath 文本 -存储文件名.
wanghr100 2004-06-11
  • 打赏
  • 举报
回复
想法和 cuixiping一样.

<% @Language="JavaScript" %>
<%
//你可以改成SQL SERVER数据库.一样的.
function OpenDB(sdbname)
{
var connstr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath(sdbname);
var conn = Server.CreateObject("ADODB.Connection");
conn.Open(connstr);
return conn;
}
var oConn = OpenDB("data.mdb");
Session("userid") = "a";
var sql = "select filepath from download where userid='"+Session("userid")+"'";
var rs = oConn.Execute(sql);
//取得文件路径
sDownloadFile = rs("filepath");
Response.Write(sDownloadFile)
//设置Header
Response.contentType = "application/octet-stream";
Response.addHeader("Content-Disposition","attachment;filename="+sDownloadFile)
//文件写入流.
var oStream = Server.CreateObject("ADODB.Stream");
oStream.Mode = 3;
oStream.Type = 1;
oStream.Open();
oStream.LoadFromFile(Server.MapPath(rs("filepath")));
while(!oStream.EOS)
{
Response.BinaryWrite(oStream.Read(1024*64));
}
oStream.Close();
delete oStream;
Response.Flush();
Response.End();
%>
  • 打赏
  • 举报
回复
with A:
select case username
case "a"
response.write(url)
case "b"
response.write "error"
end select

对B一样~
cuixiping 2004-06-11
  • 打赏
  • 举报
回复
提供一种思路:
首先,将AB两个文件的路径都不公开,不出现在任何页面链接中。
(你可以将两个文件的路径跟用户名的关联记录在数据库里。)
判断是用户A的时候:
将A文件copy到某个临时文件,让A用户下载的是这个副本,之后删除这个副本。
或者不copy,用Adodb.Stream读取A文件的二进制流,将二进制流直接发送至浏览器。
sxsgssgs 2004-06-11
  • 打赏
  • 举报
回复
用权限呀。

28,391

社区成员

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

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