网页图片防盗链

/// <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);
        }
    }

 

转载于:https://www.cnblogs.com/LoVeSW/p/3425241.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值