asp.net下结合HttpHandler实现图片防盗链

时间:2022-04-10 16:27:37

代码如下:


#region IHttpHandler 成员 

bool IHttpHandler.IsReusable 

get { return true; } 


void IHttpHandler.ProcessRequest(HttpContext context) 

string FileName = context.Server.MapPath(context.Request.FilePath); 
if (context.Request.UrlReferrer.Host == null) 

context.Response.ContentType = "image/JPEG"; 
context.Response.WriteFile("/no.jpg"); 

else 

if (context.Request.UrlReferrer.Host.IndexOf("mydomain.com") > 0) 

context.Response.ContentType = "image/JPEG"; 
context.Response.WriteFile(FileName); 

else 

context.Response.ContentType = "image/JPEG"; 
context.Response.WriteFile("no/jpg"); 




#endregion 


<httpHandlers> 
<add verb="*" path="*.jpg" type="JpgHandler, MyDll" /> 
</httpHandlers>