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

复制代码 代码如下:

  #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>