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

ASP.NET
AspectSharp中的代理对象
关于“使用xmlspy编写xsl文件时候,在xsl解释xml文件的时候总是使用utf-16编码”的...
如何获取本机IP?
演练:在Excel中建立自定义菜单项
Microsoft.UI.WebControl.TreeView控件的扩充使用
C#中控制流程
如何通过.Net Compact Framework来获得应用程序的当前路径
用C#快速往Excel写数据
恼人的OleDb Bug
OpenAsTextStream 方法
Visual Studio 2005 Express Beta Products所有的完整安装包。
动态下拉菜单的简单实现
如何调用他人提供的Web Service
VB6实现在Win2000/XP上隐藏进程
CSharp读写SQL Server数据库中的Image列
OA架构设计之启示
VB6使用API下载文件
激活程序的disabled的按钮
定时检测邮件并且自动转发的例子
使程序在Windows任务管理器隐藏

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 177 ::
收藏到网摘: 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接口来监听对本网站的资源请求后缀名是否是我们要阻止的文件,如果是再判断是否有下载权限。没有就给它返回一个默认的无用的文件。