当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > asp.net 实现防迅雷等下载工具盗链

ASP.NET
ReferenceEquals, == , Equals 比较
VB.NET窗口渐淡关闭
使用简单的DepthBuffer 和使用Lights
VB下使用adodb.command 执行存储过程注意
Sendkeys 和 Sendmessage 使用技巧一例
使用IndexBuffer(索引)
探讨C#中字符串的加密
常用加密算法
如何更新父窗体
当SESSION失效时自动转到其它页面
Sendkeys 和 Sendmessage 使用技巧一例 选择自 northwolves 的 Blog
1.DotNet(.Net):新平台,C#:新语言
Web下打印的实现
在.NET中实现彩色光标,动画光标和自定义光标[引自孟子前辈作品]
alert在asp.net中如何使用??
替换HTML代码
h2reg的一些使用经验
C#2.0 新特性探究(一) 模拟List和内置算法
在网页中添加Flash的播放或者背景音乐
Cookie 的写入与读取

ASP.NET 中的 asp.net 实现防迅雷等下载工具盗链


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 207 ::
收藏到网摘: n/a

利用IHttpHandler接口来监听对本网站的资源请求后缀名是否是我们要阻止的文件,如果是再判断是否有下载权限。没有就给它返回一个默认的无用的文件。 主要代码如下:
复制代码 代码如下:

public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "application/octet-stream";
HttpRequest req = context.Request;
string filename = req.Url.AbsolutePath;
string userid = string.Empty;
if (HttpContext.Current.Request.Cookies != null && HttpContext.Current.Request.Cookies["userid"] != null)
{
userid = HttpContext.Current.Request.Cookies["userid"].Value;
}
if (userid == "1")
{
string uuu = context.Server.MapPath(filename);
context.Response.TransmitFile(uuu);
}
else
{
string u2 = context.Server.MapPath("default.rar");
context.Response.WriteFile(u2);
}
}

设计思想如下:
1. 利用IHttpHandler接口来监听对本网站的资源请求后缀名是否是我们要阻止的文件,如果是再判断是否有下载权限。没有就给它返回一个默认的无用的文件。