/// <summary> /// 网页图片防盗链 /// web.config中添加如下代码 /// <system.web> /// <httpHandlers> /// <add verb="*" path="*.jpg" type="HttpExtensions.ImageHandler"/> /// </httpHandlers> /// </system.web> /// </summary> public class ImageHandler : IHttpHandler { public bool IsReusable { get { return true; } } public void ProcessRequest(HttpContext context) { HttpResponse response = context.Response; HttpRequest request = context.Request; string imagePath = null; if (request.UrlReferrer != null) { if ((string.Compare(request.Url.Host, request.UrlReferrer.Host, true, CultureInfo.InvariantCulture) == 0) && (request.Url.Port == request.UrlReferrer.Port)) { imagePath = request.PhysicalPath; if (!File.Exists(imagePath)) { response.Status = "Image not found"; response.StatusCode = 404; return; } } } if (imagePath == null) { imagePath = context.Server.MapPath("~/Images/error.jpg"); } response.ContentType = "image/" + Path.GetExtension(imagePath).ToLower(); response.WriteFile(imagePath); } }