IHttpHandler防止图片链接被盗用

本文介绍了一个名为JpegHandler的类,该类用于处理HTTP请求中的JPEG文件,并验证请求来源是否为本地主机。如果请求不符合条件,则返回错误图片。此外,还提供了web.config中的配置示例。
    public class JpegHandler : IHttpHandler
    {
        public bool IsReusable
        {
            get { return true; }
        }

        public void ProcessRequest(HttpContext context)
        {
            string filename = context.Server.MapPath(context.Request.FilePath);
            context.Response.ContentType = "image/jpeg";

            if (context.Request.UrlReferrer == null 
                || context.Request.UrlReferrer.Host == null
                || !context.Request.UrlReferrer.Host.Contains("localhost")
                )
            {
                context.Response.WriteFile("/image/error.jpg");
            }
            else
            {
                context.Request.ContentType = "image/jpeg";
                context.Response.WriteFile(filename);
            }
        }
    }

 

配置web.config

<add name="Jpeg" verb="*" path="*.jpg"  type="WebApplication2.JpegHandler"/>

 

转载于:https://www.cnblogs.com/caoyc/p/6221998.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值