主题:iis关于防止非法下载的问题
leicsharp
[专家分:0] 发布于 2006-08-01 09:56:00
请教一下,如何配置iis,能够使会员下载文件,而非会员不能下载,如果非会员直接输入http://www.abc.com/a.rar时返回一个错误信息,请问这个问题怎么解决啊?[em1][em10]
回复列表 (共3个回复)
沙发
jzyray [专家分:20610] 发布于 2006-08-01 18:56:00
自己写一个下载定向文件,如down.aspx
下载的时候,用序号或者其它的指定文件,如down.aspx?id=123
在down.aspx运行的时候检测是否是会员,如果是会员,不要用重定向Redirect访问原始文件,用IO读取那个文件,然后手动Response.WriteByte输出到客户端
板凳
leicsharp [专家分:0] 发布于 2006-08-02 09:40:00
能不能说详细一点啊,你说的用IO读取那个文件,然后手动Response.WriteByte输出到客户端,这个具体是怎么回事?能发一段代码么?非常感谢。
3 楼
jzyray [专家分:20610] 发布于 2006-08-02 15:22:00
其实用不着WriteByte, 用WriteFile更直接
Response.Clear();
Response.Buffer = false;
Response.AddHeader("Content-Disposition", "attachment; filename=" + <文件名>);
Response.AddHeader("Content-Length", <文件大小>);
Response.ContentType = "application/octet-stream";
Response.Charset = <编码>;
Response.WriteFile(<文件服务器路径>);
那两个Header可选,都加上能够提供相信的文件信息
我来回复