当前位置:编程学习 > C#/ASP.NET >>

网站的一个文件夹下的文件,必须验证用户后才能下载,否则不给下载,直接地址访问文件地址也不允许下载!谢谢

一般情况下,知道文件地址后直接在IE打地址后是直接下载的,现在不允许这样做,必须要经过我的验证,符合条件才能下载,不然不允许


Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment;FileName="+YourFileName);
Response.BinaryWrite((byte[])YourFileData.Rows[0]["AttachmentContent"]);
Response.End();


这个代码可以隐藏地址,但对于知道实际地址的人还是可以直接下载,怎么才能从程序和IIS设置方面进行处理,不允许地址直接访问下载? --------------------编程问答-------------------- 参考

放到App_Data文件夹下,看看还能不能被下载了,呵呵 --------------------编程问答-------------------- 你说的什么是什么文件

代码文件 ?编译后已经无法下载了

资源文件 ?设置权限 --------------------编程问答-------------------- 拦截一下请求然后判断是否有权限,如果没有,直接返回! --------------------编程问答-------------------- 防盗链。。。。GOOGLE搜索! --------------------编程问答-------------------- 下载你 先转到一个页面  相当于中转站的效果      在那个页面判断是否有权限 可以下载
 没权限就返回  有权限就从这个页面直接链接到相关下载的文件那去 就 ok了 --------------------编程问答-------------------- 下载先判断就好了 --------------------编程问答--------------------  就是一般的WORD之类的文件,不允许直接地址访问,假设用户知道真实地址的情况下如何禁止直接地址访问下载 --------------------编程问答-------------------- 下载你 先转到一个页面 相当于中转站的效果 在那个页面判断是否有权限 可以下载
 没权限就返回 有权限就从这个页面直接链接到相关下载的文件那去 就 ok了
我觉得这个比较方便。。
另外我觉得还可以自己写一个处理 ,做一个 handel。专门处理这些文件. --------------------编程问答-------------------- 判定权限,如果用户知道资源的地址,是无法防止的,只有让用户不知道地址这样他们才不能下载,你可以把地址加密 --------------------编程问答-------------------- 采用表单验证方式 --------------------编程问答-------------------- 知道地址的貌似不好防!
为何不把地址全部放到数据库呢,只有虚拟路径,然后有权限下载的根据文件ID去读取文件流传递给用户,也不需要暴露实际地址! --------------------编程问答--------------------
引用 11 楼 rock870210 的回复:
知道地址的貌似不好防!
为何不把地址全部放到数据库呢,只有虚拟路径,然后有权限下载的根据文件ID去读取文件流传递给用户,也不需要暴露实际地址!


文件必须放在文件夹啊,所以肯定存在一个地址啊,这个地址存在数据库没有关系啊,也就是那个文件夹不能直接访问,通过验证才能访问(权限够),怎么设置IIS文件夹访问的验证呢
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,