asp.net 實現(xiàn)防迅雷等下載工具盜鏈
更新時間:2009年02月21日 03:55:15 作者:
利用IHttpHandler接口來監(jiān)聽對本網站的資源請求后綴名是否是我們要阻止的文件,如果是再判斷是否有下載權限。沒有就給它返回一個默認的無用的文件。
主要代碼如下:
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接口來監(jiān)聽對本網站的資源請求后綴名是否是我們要阻止的文件,如果是再判斷是否有下載權限。沒有就給它返回一個默認的無用的文件。
復制代碼 代碼如下:
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接口來監(jiān)聽對本網站的資源請求后綴名是否是我們要阻止的文件,如果是再判斷是否有下載權限。沒有就給它返回一個默認的無用的文件。
相關文章
IIS應用池回收造成Application_Start中定時執(zhí)行程序停止的問題的解決方法
最近在做一個項目,需要在程序中定時不斷的執(zhí)行某些操作,結果發(fā)現(xiàn)每天7,8點過后到第二天9點,定時程序經常都沒有在執(zhí)行,后來才知道由于IIS的應用池回收導致Application停止。2010-03-03
ASP.NET中iframe框架點擊左邊頁面鏈接 右邊顯示鏈接頁面內容
這篇文章主要介紹了ASP.NET中iframe框架點擊左邊頁面鏈接,右邊顯示鏈接頁面內容的實現(xiàn)代碼,感興趣的小伙伴們可以參考一下2016-07-07

