今天来介绍下:C#实现图片防盗链功能,废话少说,干货走起。
首先我们要编写一个类来处理图片过来的请求;
然后类里面要实现处理http请求。所以这个类就要继承IHttpHander类,代码如下;
继承了IHttpHander类,就必须实现这个类的两个接口,ProcessRequest和IsReusable。
然后再ProcessRequest中写你的处理代码。
我的代码如下:
获取来源的域名,判断域名中是否包含自己的域名。我自己的域名是aspnetjia,如何在。就返回正确的图片,如何不包含自己的域名那就证明是外链调用,就返回一张默认的图片。也是就是/images/time.jpg这张图片。
如何如何使用呢。在web.config中配置一下就可以使用了。
在configuration节点下的sys.webServer节点下Handlers节点下加
<add verb="*" name="d" path="*.png" type="CopyImages"/>
CopyImages是类名,verb是请求方式,path是请求过来的格式。意思现在只有.png的图片格式过来才会使用防盗链,如果想要其他格式的也可以,path=”*.png,*.jpg”。
大概就是这样的,纯属干货,希望大家能掌握。
网友评论文明上网理性发言 已有0人参与
发表评论: