asp.Netは雷などのダウンロードツールのチェーンを防ぐことを実現します

996 ワード

主なコードは次のとおりです.
 
  
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インタフェースを使用して、当サイトのリソースリクエストの接尾辞名が私たちがブロックするファイルかどうかを傍受し、ダウンロード権限があるかどうかを再判断します.ない場合は、デフォルトの不要なファイルを返します.