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

ASP.NET
ASP.NET应用程序设计的10大技巧
asp.net开发与web标准的冲突问题
总结:ADO.NET中容易混淆的概念
ASP.NET数据库编程入门
ASP.Net网络数据库:连接到数据库
ASP.Net之C#中的异常处理
在C++中使用Lambda函数提高代码性能
从零开始学习jQuery (一) 开天辟地入门篇
.Net中的 XmlReader 与 XmlWriter 解析
ASP.NET安全问题--创建安全的Web应用程序
从零开始学习jQuery (二) 万能的选择器
ASP.NET开发必须养成的编程习惯
ASP.NET应用XML技术实现Web报表打印
ASP.NET实现静态的TreeView控件导航
数据结构与算法:C#语言描述 目录
ASP.NET创建XML Web服务全接触
使.NET命名空间符合标准
ASP.Net获得新浪天气预报几种方式总结
.Net技术开发中两个“属性”引起的歧异
.Net课堂:ASP.NET常用的优化性能方法

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


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