asp.net 实现防迅雷等下载工具盗链
来源:不详 责任编辑:admin 发表时间:2013-07-01 12:05 点击:次
主要代码如下:
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接口来监听对本网站的资源请求后缀名是否是我们要阻止的文件,如果是再判断是否有下载权限。没有就给它返回一个默认的无用的文件。
[复制此代码]CODE:
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接口来监听对本网站的资源请求后缀名是否是我们要阻止的文件,如果是再判断是否有下载权限。没有就给它返回一个默认的无用的文件。
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 进入详细评论页>>
今日头条
更多>>您可能感兴趣的文章
- MVC中一个表单实现多个提交按钮(一个action搞定
- Asp.net MVC源码分析--Model Validation(Client端)实现(2)
- 教你如何来恢复一个丢失的数据文件
- asp.net 六大内置对象(2)
- asp.net js模拟Button点击事件
- ASP.NET数据格式的Format--DataFormatString
- winform下通过webclient使用非流方式上传(post)数据和
- 微软ASP.NET站点部署指南(11):部署SQL Server数据
- 谈.Net委托与线程——创建无阻塞的异步调用(一
- Pro ASP.NET MVC 3 Framework学习笔记之九